Avatar billede nubi19 Nybegynder
06. september 2002 - 18:51 Der er 6 kommentarer og
1 løsning

CPU load, hvordan ?

Hvordan får jeg fat i CPU load helst via ANSI C++, men ellers MS VC ?
Avatar billede krismort Nybegynder
09. september 2002 - 21:14 #1
Hvad mener du når du skriver CPU load ?

Kristian
Avatar billede thecoder.dk Nybegynder
09. september 2002 - 21:47 #2
han mener højst sansynlig hvor meget af CPU'en der bliver brugt! Ligesom i Windows task manager
Avatar billede nubi19 Nybegynder
09. september 2002 - 21:56 #3
Yeps thecoder, det er det jeg mener :)
Avatar billede krismort Nybegynder
11. september 2002 - 22:27 #4
Jeg mener faktisk at du kan aflæse CPU usage i registerings databasen. Noget ala. det her:

#define REG_DWORD 4
#define HKEY_DYN_DATA &H80000006

void GetCPUUsage()
{
long lData=0;
long lType=0;
long lSize=0;
long hKey=0;
char* Qry;
long Status=0;
                 
    Qry = RegOpenKey(HKEY_DYN_DATA, "PerfStats\StatData", hKey);
       
    lType = REG_DWORD;
    lSize = 4;
               
    Qry = RegQueryValueEx(hKey, "KERNEL\CPUUsage", 0, lType, lData, lSize);
   
    Status = lData; //status er cpu usage
};
Avatar billede soreno Praktikant
11. september 2002 - 23:18 #5
krismort>
jeg har lige teste din funktion med lettere modifikationer, se:
#include <windows.h>
#include <stdio.h>

int main(int argc, char **argv)
{
  HKEY hKey=0;
  long hKey_result;
 
  hKey_result = RegOpenKeyEx(HKEY_DYN_DATA, "PerfStats\\StatData", 0, KEY_QUERY_VALUE, &hKey);
 
  if(hKey_result == ERROR_SUCCESS)
  {
      char hKey_buffer[1024];
      DWORD hKey_buffer_size = sizeof(hKey_buffer);

      hKey_result = RegQueryValueEx(hKey, "KERNEL\\CPUUsage", 0, 0, (LPBYTE)&hKey_buffer, &hKey_buffer_size);
      if(hKey_result == ERROR_SUCCESS)
      {
    printf("cpu: %s", hKey_buffer);
      }
      else
      {
    printf("RegQueryValueEx: Error\n");
      }
  }
  else
  {
      printf("RegOpenKey: Error\n");
  }

  return 0;
}

og jeg får en "RegOpenKey: Error"
hvor har du info fra - om at man skulle kunne få fat i cpu load via regdb ?
Avatar billede soreno Praktikant
12. september 2002 - 00:20 #6
ok, jeg har researched lidt, og min kode virker ikke fordi HKEY_DYN_DATA er win9x only - og jeg benytter win2k..

følgende kan måske hjælpe lidt:
http://www.planetsourcecode.com/xq/ASP/txtCodeId.1938/lngWId.3/qx/vb/scripts/ShowCode.htm
http://www.planetsourcecode.com/xq/ASP/txtCodeId.549/lngWId.3/qx/vb/scripts/ShowCode.htm

jeg har dog ikke testet koden endnu, men det ser lovende ud - princippet er ihvertfald beskrevet :-)
Avatar billede krismort Nybegynder
12. september 2002 - 20:22 #7
soreno >> Det var fra et visual basic eksempel jeg havde liggende... tror nok jeg oprindeligt fandt det på pscode.com

Kristian
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester