nicolas66
Messages postés116Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention 4 janvier 2009
-
19 mars 2006 à 12:18
nicolas66
Messages postés116Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention 4 janvier 2009
-
19 mars 2006 à 19:52
Bonjour,
Pour un projet perso, je cherche à pouvoir récupérer plusieurs informations en C++ sous windows :
Nom du système d'exploitation (Windows NT par ex.)
Nom du processeur (AMD Athlon 1500+ par ex.)
Nom de la carte graphique (NVIDIA GeForce 6800 par ex.)
Capacité mémoire de la carte graphique (256 Mo par ex.)
Je recherche déjà le nom des fonctions pour tenter de faire une recherche de mon côté. Merci d'avance pour votre aide
Oeil_de_taupe
Messages postés150Date d'inscriptionsamedi 31 janvier 2004StatutMembreDernière intervention16 février 2009 19 mars 2006 à 12:53
Salut,
Avec GetVersionExtu devrais pouvoir avoir la version du système d'exploitation sur lequel tourne ton programme.
Avec GetSystemInfotu devrais pouvoir retourner le nombre de processeur et l'architecture mais peut-être pas le nom exacte du CPU
Pour le processeur il y a aussi [codes/CPUID-INFO-PROCESSEUR-WIN32-ASM_25597.aspx cette source] faite par BruNews je ne l'ai pas regardée mais d'après le titre il semble qu'il y ait de l'assembleur.... alors je ne sais pas si tu es intéréssé.
Sinon du côté de la carte graphique je n'en ai aucune idée....
Oeil_de_taupe
Messages postés150Date d'inscriptionsamedi 31 janvier 2004StatutMembreDernière intervention16 février 2009 19 mars 2006 à 16:49
Voici un petit bout de code vite fait permettant de récupérer le nom de la carte graphique qui affiche le bureau. C'est vite fait mais ça me semble marcher. Je ne sais pas si ça peut t'aider...
//Tourne jusqu'à ce que la fonction retourne une erreur (==> au bout de la liste)
while( EnumDisplayDevices(NULL, IDDisplayScan, &dDevice, 0) )
{
//Test si ce device est utilisé pour le bureau
if( dDevice.StateFlags & DISPLAY_DEVICE_ATTACHED_TO_DESKTOP )
{
wcout << "Device utilise pour le bureau: " << dDevice.DeviceString << endl;
break; //Il n'y a pas deux devices pour afficher le bureau ==> casse la boucle qui liste les devices d'affichage
}
nicolas66
Messages postés116Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention 4 janvier 2009 19 mars 2006 à 17:05
Perso j'utilise Dev-C++ 4.0 et ton code ne compile pas. Question : à quoi correspond le fichier 'stdafx.h' ? Sinon j'ai réussi à partir d'un bout de code du site MSDN pour pouvoir afficher le nom de la carte graphique, le taux de rafraichissement et le numéro de version du driver. Voici le code :
nicolas66
Messages postés116Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention 4 janvier 2009 19 mars 2006 à 17:10
En fait je suis obligé apparement de déclarer la structure DISPLAY_DEVICE sinon le compilateur ne la trouve pas dans 'wingdi.h'. De plus, je suis aussi obligé de faire des déclarations des fonctions que je vais utiliser (heu désolé pour l'approximation de mes propos, la prog' windows c'est pas du tout ma tasse de thé :p).
Voilà ce qui ne fonctionnait pas chez moi mais maintenant ca marche comme sur des roulettes. Reste plus qu'à choper le nom du système d'exploitation, sa version, le nombre de processeurs et le nom du processeur.
Nempêche sous nunux, ca ferait un bail que ca serait réglé cette histoire :P
nicolas66
Messages postés116Date d'inscriptionmercredi 25 décembre 2002StatutMembreDernière intervention 4 janvier 2009 19 mars 2006 à 19:52
Bon après passer toute la journée là-dessus j'ai
enfin réussi à obtenir ce que je souhaitais. Pour ceux que ça
intéresse, j'ai mis le code source et l'exécutable sur mon site à cette
adresse car le code est de grande taille :