Ver Mensaje Individual
  #1  
Antiguo 12-07-2006
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Reputación: 22
OSKR Va por buen camino
Porcentaje de uso del CPU

Aqi está el codigo en Builder, no se si ya alguien lo habia publicado aqi, en otros foros ..o no se....crei ver algo por ahi pero en linux....
Código:
#include <Winbase.h>
#include <stdio.h>
#pragma hdrstop
#pragma argsused
#define _WIN32_WINNT 0x0501
void Error(HANDLE Handle)
{ LPVOID lpMsgBuf;
  FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,NULL,GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf,0,NULL);
  MessageBox( NULL, (char *)lpMsgBuf,"GetLastError", MB_OK|MB_ICONINFORMATION);
  LocalFree( lpMsgBuf );
  FreeLibrary(Handle);
  exit(0);
}

int main(int argc, char* argv[])
{ int i=10;
  bool (*GST)(FILETIME *,FILETIME *,FILETIME *);
  __int64 ITn=0,ITv=0,KTn=0,KTv=0,UTn=0,UTv=0;
  HANDLE Handle=LoadLibrary("kernel32.dll");
  if(!Handle)
    return 1;
  GST=(bool (*)(FILETIME *,FILETIME *,FILETIME *))GetProcAddress(Handle,"GetSystemTimes");
  if(!GST)
    return 1;
  while((--i)!=0)
  { FILETIME  IT,KT,UT;
    try
    { bool res=GST(&IT,&KT,&UT);
      Sleep(1500);
      if(!res)
        Error(Handle);
      memcpy(&UTn,&UT,sizeof(FILETIME));
      memcpy(&ITn,&IT,sizeof(FILETIME));
      memcpy(&KTn,&KT,sizeof(FILETIME));
    }
    catch(Exception &Ex)
    { printf("Puta excepcion en la segunda\n");
    }
    __int64 Deno=((KTn-KTv)+(UTn-UTv));
    if( Deno==0)
      printf("0\n");
    else
      { double Prcntj=((double)Deno-(ITn-ITv))/Deno*100;
        printf("%f\n",Prcntj);
      }
    KTv=KTn;
    UTv=UTn;
    ITv=ITn;
  }
  FreeLibrary(Handle);
  return 0;
}
oooooopppppsss no puedo creerlo!!! ahora la etiqeta si respeta el tabulado!!!! no puede ser!!!! .
Una cosita....a veces se tira una excepción sin motivo aparente, no se xq.. si alguien puede y qiere corregirlo.....q lo haga.....esto es oarte de un agente SNMP q se esta haciendo aqi en la Univ. aún estoy pariendo con tomar la temperatura del procesador, ya se como pero por ser WMI se hace casi imposible
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Responder Con Cita