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

WinDev Discussion :

Demande d'information pour Récupération d'Information PC


Sujet :

WinDev

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Demande d'information pour Récupération d'Information PC
    Bonjour,

    Je viens vers vous aujourd'hui pour rechercher de l'aide au près de personnes expérimentées sur WinDev.

    Mon projet est de développer une application qui permettra aux utilisateurs de récupérer tous les informations de leur Pc et de les trier suivant leurs importances ( type de processeur, Carte mère, licence de logiciel...).

    Je voulais donc savoir si des personnes pouvaient m'aider sur un point : existe-t-il un moyen , ou des fonctions sous windev pour réussir à récupérer ces informations.

    Cordialement

    MERCIER-BALAZ
    Théo

  2. #2
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    1 039
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1 039
    Points : 2 485
    Points
    2 485
    Par défaut
    Windev n'est pas vraiment adapté à ce genre de travail.

    Et comme il existe une multitude d'applis gratuites qui le font très bien,
    il me semble que vous cherchez à réinventer la roue.

    Sinon, en jonglant avec les api, on doit pouvoir récupérer quelques infos,
    mais là, il va falloir attendre l'avis des spécialistes.

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    C'est pour un projet de fin de BTS, je sais que de nombreuses applications existent pour cela mais je dois le faire sous windev (imposé).

    J'ai entendu parler des API pour mon projets mais je n'arrive pas a bien cerner ce que sais. Pour l'instant j'ai réussi a faire pour la version de windows, pour son environnement (32 ou 64 bits) et aussi le modèle de la Carte graphique. Malheureusement je ne trouve pas pour les licences et autres composants d'un PC.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 133
    Points : 38
    Points
    38
    Par défaut
    bonjour,
    Dans ce tutorial vous pouvez récuperer des informations sur les composants de pchttp://briot-jerome.developpez.com/h...dinateur-wmic/.
    voici un exemple comment récupérer le numéro de série de la carte mère que j'ai trouvé sur le net:
    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
     
    PROCEDURE main_board_serial_xp()
    sListe est une chaîne
    oScript est un objet Automation "MSScriptControl.ScriptControl"
     
    MonScriptVBS est une chaîne = [
     
    	Function ScanBoard()
    	Dim objWMIService, colBoard, objBoard, sInfo
     
    	Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    	Set colBoard = objWMIService.ExecQuery("select * from Win32_BaseBoard")
     
    	sInfo = ""
    	For Each objBoard In colBoard
    	If sInfo <> "" Then sInfo = sInfo & Chr(13) & Chr(10)
    	sInfo = sInfo & objBoard.SerialNumber
    	Next
     
    	ScanBoard = sInfo
    	End Function
    ]
     
    oScript>>Language("VBScript")
    oScript>>Reset
    oScript>>AddCode(MonScriptVBS)
    oScript>>Timeout(-1)//pas de timeout
    sListe = SansEspace(oScript>>Run("ScanBoard")) //Appel
     
    RENVOYER sListe

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Comment avec votre code je peux maintenant afficher les infos de la CM dans un champ car j'ai bien essayer 30 min mais j'ai pas trouver :/

  6. #6
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour ,

    As-tu regardé le lien proposé par indefini ?
    As-tu mis en place le code proposé ?
    Si oui, quelle valeur te renvoie la fonction ?

    Montres le code que tu met en place pour pourvoir te guider plus facilement.

    Bon dev

  7. #7
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    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
    VerWindows = SysVersionWindows()
    Environnement = SysVersionWindows(sysProcesseur)
    ModeleGraphique = SysListeCarteGraphique
    ModeleGraphique = Milieu(ModeleGraphique,14)
    VersionWin = SysVersionWindows(sysVersionInfo)
     
    SI SysVersionWindows() = 10 ALORS
    	VerWindows = "Windows 10"
    FIN
     
    SI SysVersionWindows() = 8 ALORS
    	VerWindows = "Windows 8"
    FIN
     
    SI SysVersionWindows() = 8.1 ALORS
    	VerWindows = "Windows 8.1"
    FIN
     
    SI SysVersionWindows() = 7 ALORS
    	VerWindows = "Windows 7"
    FIN
     
    SI SysVersionWindows() = "VISTA" ALORS
    	VerWindows = "Windows VISTA"
    FIN
     
    SI SysVersionWindows() = "XP" ALORS
    	VerWindows = "Windows XP"
    FIN
     
    SI SysVersionWindows(sysProcesseur) = 64 ALORS
    	Environnement = "Windows 64 bits" 
    FIN
    SI SysVersionWindows(sysProcesseur) = 32 ALORS
    	Environnement = "Windows 32 bits" 
    FIN

    Voila mon code de base très simple mais je me demande comment intégrer les codes proposés dans le tuto etc..

  8. #8
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut
    Bonjour

    indefini te propose le code d'une procédure, Il faut créer cette procédure avec ce code et ensuite l'appeller ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    main_board_serial_xp()
    Sur le code que tu as posté, je me permet d'émettre des réserves. Tu appelles x fois la fonction SysVersionWindows() alors que tu stockes le résultat lors de la première ligne dans la variable VerWindows , testes cette variable et supprimmes l'echainement des conditions SI ... ALORS par SELON ... CAS

  9. #9
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 062
    Points : 9 493
    Points
    9 493
    Par défaut
    hello,
    voici comment par exemple, récupérer des infos sur la version de windows, sur le processeur, sur la carte mère en utilisant WMI. Attention dans le code qui va suivre, j'utilise la classe dotnet ManagementObjectSearcher ce qui oblige à utiliser dotnet et à ajouter l'assemblage Dotnet System.Management dans son projet. De plus dotnet n'était pas présent de base dans XP. Pour que cela marche dans tous les O.S windows sans ajout , il faut utiliser le WMI avec VBS dont on a parlé précédemment dans cette discussion.

    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
     
    // J.P octobre 2015
    // Récupération d'infos système en utilisant WMI et la classe dotnet ManagementObjectSearcher
    Res1,Res2,Res3,Res4 sont des Variants
    QUAND EXCEPTION DANS
    MaRequêteWMI est un SelectQuery("SELECT * FROM Win32_OperatingSystem")
    searcher est un ManagementObjectSearcher(MaRequêteWMI)
    Resultats est un ManagementObjectCollection dynamique = searcher.Get()
    UNResultat est un ManagementObject dynamique
      POUR TOUT UNResultat DE Resultats
       Res1 = UNResultat.get_Item("Caption")
       Res2 = UNResultat.get_Item("version")
       Trace("O.S : ",Res1," - Version : ",Res2)    
      FIN
    MaRequêteWMI.set_QueryString("SELECT Name,Description FROM Win32_Processor")
    searcher.Query=MaRequêteWMI		
    Resultats  = searcher.Get()
    	POUR TOUT UNResultat DE Resultats
    	Res1 = UNResultat.get_Item("Name")
    	Res2 = UNResultat.get_Item("Description")
    	Trace("Processeur  : ",Res1," - Description : ",Res2)    
    	FIN
    MaRequêteWMI.set_QueryString("SELECT Product,Manufacturer,Model FROM Win32_BaseBoard")
    searcher.Query=MaRequêteWMI		
    Resultats  = searcher.Get()
    	POUR TOUT UNResultat DE Resultats
    		Res1 = UNResultat.get_Item("Product")
    		Res2 = UNResultat.get_Item("Manufacturer")
    		Res3 = UNResultat.get_Item("Model")
    		Trace("Carte Mère  : ",Res1," - Fabricant : ",Res2," - Modèle : ",Res3)  				  
    	FIN 
    FAIRE
    	Erreur("Erreur WMI ")
    FIN
    les variants Resx sont là en intermédiaire dans le cas ou un NULL est renvoyé pour la méthode get_Item. Dans ce cas il n'y a pas de plantage lorsque trace essaie de l'afficher. Un 0 est alors affiché.

    Ami calmant, J.P

  10. #10
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Bonjour


    Pour les infos systèmes l'API Windows fait très bien l'affaire.

    Tu peux en savoir d'avantage sur le site de MSDN.

    Par exemple GetSystemInfo.



    Pour les hardwares spécifique tel une carte graphique, il existe des API du genre "DirectX diagnostic API" qui te renvoie toutes les informations des cartes graphiques. Des simples recherches pour des exemples en C++ et tu devrais avoir tous l'informations qu'il te faut. Il te reste à convertir le tout en WD.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/12/2012, 12h21
  2. [MySQL] Récupération d'informations pour modifier son compte
    Par flames dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/01/2007, 20h05
  3. Réponses: 2
    Dernier message: 02/05/2006, 21h47
  4. Demande d'information pour ajout d'API Java dans eclipse
    Par BernardT dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 07/07/2005, 17h08

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