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 ?
Annonceindlæg fra SoftwareOne
09. september 2002 - 21:14
#1
Hvad mener du når du skriver CPU load ? Kristian
09. september 2002 - 21:47
#2
han mener højst sansynlig hvor meget af CPU'en der bliver brugt! Ligesom i Windows task manager
09. september 2002 - 21:56
#3
Yeps thecoder, det er det jeg mener :)
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 };
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 ?
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
Kurser inden for grundlæggende programmering