hallo,
ik ben een grafische applicatie aan het schrijven voor Windows.
Deze applicatie zal o.a wat feedback geven over het systeem waarop de applicatie draait.
Denk hierbij aan o.a: beschikbaar geheugen, gebruikt geheugen e.t.c.
Nu wil ik ook graag wat processor informatie (klok frequenties) weergeven. Ik ben al wat aan het klooien geweest met __cpuid, maar ik kom hier nog niet helemaal uit.
dit is wat ik momenteel heb, en werkt in cmd.
Onder Unix/Linux weet ik wel hoe dit makkelijk gedaan kan worden, maar ik ken Windows niet zo goed..
Heeft iemand tips?
Mvg, Jan Willem Casteleijn
ik ben een grafische applicatie aan het schrijven voor Windows.
Deze applicatie zal o.a wat feedback geven over het systeem waarop de applicatie draait.
Denk hierbij aan o.a: beschikbaar geheugen, gebruikt geheugen e.t.c.
Nu wil ik ook graag wat processor informatie (klok frequenties) weergeven. Ik ben al wat aan het klooien geweest met __cpuid, maar ik kom hier nog niet helemaal uit.
dit is wat ik momenteel heb, en werkt in cmd.
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| #include <iostream> #include <intrin.h> #include <tchar.h> using namespace std; int cpuInfo(int argc, _TCHAR* argv[]) { // Get extended ids. int CPUInfo[4] = {-1}; __cpuid(CPUInfo, 0x80000000); unsigned int nExIds = CPUInfo[0]; // Get the information associated with each extended ID. char CPUBrandString[0x40] = { 0 }; for( unsigned int i=0x80000000; i<=nExIds; ++i) { __cpuid(CPUInfo, i); // Interpret CPU brand string and cache information. if (i == 0x80000002) { memcpy( CPUBrandString, CPUInfo, sizeof(CPUInfo)); } else if( i == 0x80000003 ) { memcpy( CPUBrandString + 16, CPUInfo, sizeof(CPUInfo)); } else if( i == 0x80000004 ) { memcpy(CPUBrandString + 32, CPUInfo, sizeof(CPUInfo)); } } cout << "Cpu String: " << CPUBrandString; system("pause"); } |
Onder Unix/Linux weet ik wel hoe dit makkelijk gedaan kan worden, maar ik ken Windows niet zo goed..
Heeft iemand tips?
Mvg, Jan Willem Casteleijn
Unix is simple. It just takes a genius to understand its simplicity