IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Informations systeme en c++


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut Informations systeme en c++
    Bonjour

    J'aurais besoin d'un petit coup de main si vous avez 2 secondes

    En fait je souhaiterai récupérer les informations system du pc sur lequel j'exécute mon programme...
    Mes informations serait : l'espace libre des disques dur, le débit du réseau, la carte graphique, le processeur et directX...
    Quelqu'un aurait une idée? parceque je m'en sors pas...

    Merci beaucoup

  2. #2
    screetch
    Invité(e)
    Par défaut
    dxdiag, save information

    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    ---------------
    Display Devices
    ---------------
            Card name: NVIDIA GeForce GTX 275
         Manufacturer: NVIDIA
            Chip type: GeForce GTX 275
             DAC type: Integrated RAMDAC
           Device Key: Enum\PCI\VEN_10DE&DEV_05E6&SUBSYS_2AEE107D&REV_A1
       Display Memory: 1650 MB
     Dedicated Memory: 883 MB
        Shared Memory: 767 MB
         Current Mode: 1920 x 1200 (32 bit) (59Hz)
              Monitor: Generic PnP Monitor
          Driver Name: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um
       Driver Version: 8.15.0011.9038 (English)
          DDI Version: 10
    Driver Attributes: Final Retail
     Driver Date/Size: 7/14/2009 20:54:00, 9375232 bytes
          WHQL Logo'd: n/a
      WHQL Date Stamp: n/a
    Device Identifier: {D7B71E3E-46A6-11CF-8350-E50A01C2C535}
            Vendor ID: 0x10DE
            Device ID: 0x05E6
            SubSys ID: 0x2AEE107D
          Revision ID: 0x00A1
          Revision ID: 0x00A1
          Video Accel: ModeMPEG2_A ModeMPEG2_C ModeVC1_C ModeWMV9_C 
     
    [...]
    ------------------------
    Disk & DVD/CD-ROM Drives
    ------------------------
          Drive: C:
     Free Space: 123.8 GB
    Total Space: 190.7 GB
    File System: NTFS
          Model: ST3500630AS ATA Device
     
          Drive: F:
     Free Space: 191.4 GB
    Total Space: 191.4 GB
    File System: FAT32
          Model: SAMSUNG HD502HI ATA Device
     
          Drive: D:
          Model: TSSTcorp CD/DVDW TS-H552U ATA Device
         Driver: c:\windows\system32\drivers\cdrom.sys, 6.00.6001.18000 (Swedish), , 0 bytes
     
          Drive: E:
          Model: HL-DT-ST DVD-RAM GSA-H30N ATA Device
         Driver: c:\windows\system32\drivers\cdrom.sys, 6.00.6001.18000 (Swedish), , 0 bytes

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut
    J'ai pas trop compris,
    comment on utilise dxdiag save information?

    Merci

  4. #4
    screetch
    Invité(e)
    Par défaut
    ben il y a un programme qui s'appelle dxdiag, qui liste pas mal de choses que tu demandes
    tu peux cliquer sur le bouton "save information" qui va tout sauver dans un format texte et te donner presque tout ce que tu demandes

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    screetch >> je n'arrive pas à déterminer si ta réponse était sérieuse ou ironqieu mais je pense que le PO veut plus récupérer ca directement dans son programme. Je ne connais pas les fonctions exactes mais je sais que MSDN te donnera une réponse.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    oui enfin, s'il est sous linux ou macos, la msdn ne lui servira pas à grand chose
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  7. #7
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par r0d Voir le message
    oui enfin, s'il est sous linux ou macos, la msdn ne lui servira pas à grand chose

    Mes informations serait : l'espace libre des disques dur, le débit du réseau, la carte graphique, le processeur et directX...
    j'y ai pensé
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  8. #8
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    ha oui, bien vu!
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  9. #9
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Sous microsoft, toutes les fonctions qui permettent de récupérer de l'information système sont ici : http://msdn.microsoft.com/en-us/libr...53(VS.85).aspx

    Après, il faut trier, je ne suis pas sûr les info sur les quota et la taille de la registry t'intéresse.

    Pour directX, je fouille

    [Edit] Pour directX, regarde ici http://msdn.microsoft.com/en-us/libr...85(VS.85).aspx. J'espère que tu as déjà programmé avec DirectX car pour appeler cette fonction, il faut d'abord initialiser DirectX et je n'ai plus en mémoire ce qui faut faire, peut être un tuto du côté de la rubrique DirectX ici : http://www.developpez.net/forums/f52...media/directx/
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut
    bonjour,
    oui c'est pour windows, merci de vos réponses.

    j'ai regardé un peu sur msdn ram-0000, mais je ne trouve aucune info sur les disque dur...

    En tout cas, merci beaucoup.
    Je jette un coup d'oeil et je vous tiens au courant.

  11. #11
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par Twubi Voir le message
    ...mais je ne trouve aucune info sur les disque dur...
    Ha ? Il fallait les disque durs aussi !!!

    Volume Management Functions

    Disk Management Functions

    Dans le MSDN, on trouve tout (c'est comme à la Samaritaine). La plus grosse difficulté, c'est de savoir chercher dedans, c'est vrai que c'est pas naturel mais une fois qu'on a compris, cela va tout seul.

    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut
    Oh d'accord, merci beaucoup

    [edit] :
    Par exemple je souhaite récuperer l'espace du disque dur qui est libre, je fais simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char * pszRoot = "C:\\";
     
    ULARGE_INTEGER liFreeBytesAvailable, liTotalBytes, liTotalFreeBytes;
    GetDiskFreeSpaceEx((LPCWSTR)pszRoot, &liFreeBytesAvailable,&liTotalBytes, &liTotalFreeBytes);
     
    QMessageBox::warning(this,"Memoire disque",QString::number((unsigned _int64)liTotalFreeBytes.QuadPart),0,1);
    Ca ne semble pas marché, il me sort des valeurs de dingue... et mon disque fais pas 4000To

    Merci de votre aide

  13. #13
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Oui, il faut installer le SDK DirectX, il ne fait pas partie du MSDN

    Ici : http://www.microsoft.com/downloads/d...displaylang=en
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut
    Dsl j'ai édité, j'ai réfléchi 1sec et c'était évident... la betise de ma question....



    Mais comment ca marche pour le disque :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char * pszRoot = "C:\\";
     
    ULARGE_INTEGER liFreeBytesAvailable, liTotalBytes, liTotalFreeBytes;
    GetDiskFreeSpaceEx((LPCWSTR)pszRoot, &liFreeBytesAvailable,&liTotalBytes, &liTotalFreeBytes);
     
    QMessageBox::warning(this,"Memoire disque",QString::number((unsigned _int64)liTotalFreeBytes.QuadPart),0,1);
    Merci

  15. #15
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char * pszRoot = "C:\\";
    ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut
    Oui ajouté pardon, merci ^^,

    Mais ca marche pas nom plus il me sort :
    Mais pourquoi j'ai pas 4go de libre...

  17. #17
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Ton Qstring::number est-il capable de gérer des ULARGE_NUMBER ou bien il y a troncature sans que tu t'en rendes compte ?

    Quelles sont les vraies valeurs (vues avec le debugger) de liFreeBytesAvailable, liTotalBytes et liTotalFreeBytes;

    Quelle est la taille réelle de ton disque dur et combient l'explorateur annonce t'il de place disponible ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut
    avec le debugger j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    liFreeBytesAvailable {7422301136483431948}	
    liTotalBytes	 {5191773648482772}
    liTotalFreeBytes {4325159872}
    bizarre...

    Sinon mon disque "c" fait 111Go avec 35.5Go de libre et le "d" fait 110Go avec 35.7Go de libre.
    Il y a un truc que je fais de travers.

    Merci

  19. #19
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Ha!!
    Je viens de voir cela dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GetDiskFreeSpaceEx((LPCWSTR)pszRoot ...
    Pourquoi tu cast en LPCWSTR, cela ne marche pas.

    soit tu fais (version ANSI)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char * pszRoot = "C:\\";
    GetDiskFreeSpaceEx(pszRoot ...
    soit tu fais (version UNICODE)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wchar_t * pszRoot = L"C:\\";
    GetDiskFreeSpaceEx(pszRoot ...
    Mais pas ce que tu fais. Pour transformer une chaine ANSI en UNICODE, un cast ne marche pas, c'est plus compliqué que cela.

    Au fait, tu peux aussi tester le code de retour de la fonction GetDiskFreeSpaceEx()
    Citation Envoyé par MSDN
    If the function succeeds, the return value is nonzero.

    If the function fails, the return value is zero (0). To get extended error information, call GetLastError.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 95
    Points : 45
    Points
    45
    Par défaut
    AHHH d'accord!
    Oui ca marche beaucoup mieux comme ça. merci.

    En passant, il y aurait un moyen de récuperer justement le nom de tout les disque dur? Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Recuperer information systeme windows
    Par cassegrain dans le forum Général Python
    Réponses: 2
    Dernier message: 11/02/2009, 21h41
  2. Script: Information systeme
    Par buxbux dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 09/11/2007, 15h18
  3. Protocole FTP : Recuperation information System
    Par swingNJava dans le forum Développement
    Réponses: 4
    Dernier message: 12/09/2007, 09h28
  4. [Système] Informations system pc
    Par Belfils dans le forum Langage
    Réponses: 3
    Dernier message: 23/02/2007, 11h29
  5. [Linux] Récupération informations System
    Par chakib32 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 05/07/2005, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo