Hardwaredaten mit "purem" C++
lima-city → Forum → Programmiersprachen → C/C++ und D
beispiel
bit
code
datum
ermitteln
flag
initial
interessiert code
jemand
kleines problem
level
management
modeln
monitor
nutz
nutzen
passende datei
prozessor
sache
windows
-
Hallo ihr,
ich habe mal wieder (wie sollte es auch anders sein) ein kleines Problem. Um mal ganz konkret zu werden:
Ist es möglich (und wenn ja wie), mit purem C++ Hardwaredaten wie die HDD-(Nicht Volume!)-Serial und die Prozessor ID zu ermitteln? Die Größe der Festplatte brauche ich auch noch.
Hoffe es kann mir jemand helfen.
PS: Ich nutze Qt darum möchte ich keine anderen Lib's in diesem Progr nutzen.
Gruß, Tillorgias -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das ist natürlich alles stark Plattformabhängig.
Da Du Qt benutzt gehe ich mal von Linux aus.
Da ist die Sache ganz einfach du brauchst nur die passende Datei aus dem /proc/ Verzeichnis lesend zu öffnen und die Daten da rauslesen
zum Beispiel liefert
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 CPU T6400 @ 2.00GHz
stepping : 10
cpu MHz : 1200.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm
bogomips : 3989.76
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 CPU T6400 @ 2.00GHz
stepping : 10
cpu MHz : 1200.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm
bogomips : 3989.98
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
-
Hallo,
danke für deine Antwort. Ok, habe vergessen, das es trotz allem um Windows geht. Aber das für Linux habe ich auch benötigt, funzt, super.
Aber kann mir noch jemand sagen, wie ich an Hardwaredaten unter Windows komme? Den Prozessor habe ich jetzt schon.
Falls es jmd. Interessiert:
SYSTEM_INFO in; GetSystemInfo(&in); QString hwid = QString::number((uint)in.dwActiveProcessorMask); hwid += QString::number((uint)in.dwAllocationGranularity); hwid += QString::number((uint)in.dwNumberOfProcessors); hwid += QString::number((uint)in.dwOemId); hwid += QString::number((uint)in.dwPageSize); hwid += QString::number((uint)in.dwProcessorType); hwid += QString::number((uint)in.wProcessorArchitecture); hwid += QString::number((uint)in.wProcessorLevel);
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage