Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer les information du système

7 réponses
Avatar
jojo44
Bonjour,

dans un programme C (ou à la limite C++), j'aimerais récupérer des
informations sur le système qui exécute mon programme pour
pouvoir les afficher (de type: nom du processeur, sa fréquence,
la taille de mémoire vive, le système d'exploitation etc.)

Je n'ai trouvé pour l'instant que la fonction GetSystemInfo() de
Win32 API, mais cette fonction ne fournit que le type de processeur
(et encore...).

Quelqu'un pourrait me dire comment récupérer ces informations?

Merci,

Zsolt

7 réponses

Avatar
Thierry
In article <40267515$0$28139$,
says...

dans un programme C (ou à la limite C++), j'aimerais récupérer des
informations sur le système qui exécute mon programme pour
pouvoir les afficher (de type: nom du processeur, sa fréquence,
la taille de mémoire vive, le système d'exploitation etc.)

Je n'ai trouvé pour l'instant que la fonction GetSystemInfo() de
Win32 API, mais cette fonction ne fournit que le type de processeur
(et encore...).



WMI est ton ami.

--
Thierry
Avatar
Vincent Burel
"jojo44" wrote in message
news:40267515$0$28139$
Bonjour,

dans un programme C (ou à la limite C++), j'aimerais récupérer des
informations sur le système qui exécute mon programme pour
pouvoir les afficher (de type: nom du processeur, sa fréquence,
la taille de mémoire vive, le système d'exploitation etc.)

Je n'ai trouvé pour l'instant que la fonction GetSystemInfo() de
Win32 API, mais cette fonction ne fournit que le type de processeur
(et encore...).

Quelqu'un pourrait me dire comment récupérer ces informations?



ben dans le processeur directement. Parce que sous Windows y'a bien WMI mais
ca m'a l'air obscure...

Si vous n'avez pas un mois pour régler le problème , je vous suggère de
faire péter une CPUID en ASM.

vous trouverez code et détail techniques chez les constructeurs...
Chez AMD vous trouverez au moins un document style 20734.PDF "AMD Processor
Recognition"
Chez Intel regardez la DOC IA-32 Volume 1, le document 24547012.PDF Chapitre
13 "Processor Identification and Feature Determination"

Tout est là, c'est pas dur, en une journée vous pouvez vous êtes fait votre
fonction (ou jeu de fonctions), sans restriction aucune concernant les
features de votre proc.

Vincent Burel
Avatar
Christian ASTOR
jojo44 a écrit:


dans un programme C (ou à la limite C++), j'aimerais récupérer des
informations sur le système qui exécute mon programme pour
pouvoir les afficher (de type: nom du processeur, sa fréquence,



RDTSC (ou registry (NT))

la taille de mémoire vive,



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/globalmemorystatus.asp

le système d'exploitation etc.)



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getting_the_system_version.asp
Avatar
Christian ASTOR
Vincent Burel a écrit:

ben dans le processeur directement. Parce que sous Windows y'a bien WMI mais
ca m'a l'air obscure...



WMI marche bien, mais il faut que le "WMI core" ait été installé (pas le
cas d'origine par ex sur mon vieux 98 SE)

(IWbemServices::ExecQuery() avec "SELECT * FROM Win32_Processor" puis
IWbemClassObject::Get() avec "CurrentClockSpeed" et "MaxClockSpeed"
donnent bien les bons résultats)
Avatar
Vincent Burel
"Christian ASTOR" wrote in message
news:40268621$0$6978$
Vincent Burel a écrit:

> ben dans le processeur directement. Parce que sous Windows y'a bien WMI


mais
> ca m'a l'air obscure...

WMI marche bien, mais il faut que le "WMI core" ait été installé (pas le
cas d'origine par ex sur mon vieux 98 SE)



ha voila, c'est ca qui m'avait emmerdé à l'époque...

(IWbemServices::ExecQuery() avec "SELECT * FROM Win32_Processor" puis
IWbemClassObject::Get() avec "CurrentClockSpeed" et "MaxClockSpeed"
donnent bien les bons résultats)



je le note.
Merci
VB
Avatar
jojo44
Bonjour,

merci pour toutes ces réponses.

Zsolt
Avatar
BlueR
Bonjour

OSVERSIONINFO OsVer;
OsVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&OsVer);

Pour le système d'exploitation.
--
BlueR