WMI Tools (Des outils pour jouer avec le WMI)

Forum de promotion sur des outils créés pour AutoIt
Répondre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

WMI Tools (Des outils pour jouer avec le WMI)

#1

Message par Tlem »

Vous cherchez à récupérer des informations sur votre système et vous ne savez pas comment vous y prendre. :cry:

Cela peut se faire de différentes manières :
  • - Utiliser des outils en ligne de commande existant, mais cela implique que ces outils soient livrés avec votre code, car sur une autre machine, il n'y sont peut être pas ...

    - Explorer la base de registre. Cette méthode n'est pas toujours facile à utiliser car le nombre de clé à explorer peut vite devenir astronomique et très lourd.

    - Utiliser le WMI :). Ce sera sans aucun doute la solution la plus universelle et la plus simple à mettre en œuvre.
Nous allons donc (puisque c'est le titre du sujet) aborder la méthode WMI.
Pour cela je vous ai mis à disposition un pack spécial, qui contient trois outils :
  • - ScriptomaticV2.hta - version Microsoft. Lien d'origine disponible ici.
    - ScriptoMatic.au3 - version au3 de ScriptomaticV2. Lien d'origine ici.
    - WMICodeCreator.exe - version améliorée de ScriptomaticV2.hta. Lien d'origine ici.


Même si j'y ai mis plusieurs outils, celui qui sera le plus intéressent, sera très surement ScriptoMatic.au3, car celui-ci vous produira directement le code en AU3. ;)

Voici à quoi ressemble l'outil :
Image

Et voici à quoi ressemble une des fenêtres de résultat :
Image

Si vous le souhaitez, vous pouvez supprimer directement dans l'interface de la GUI les éléments qui ne vous sera pas utiles.
Ensuite, le résultat est placé dans une simple chaine de texte, qu'il vous suffira d'exploiter comme bon vous semble.
Évidement, vous pourrez adapter le code pour stocker chaque information indispensable à vos besoins dans une variable unique, qu'il vous suffira d'exploiter dans votre code.

Voici une adaptation du code de la GUI ci-dessus, modifié et simplifié pour afficher simplement la résolution du bureau. Certes, avec AutoIt il suffit d'utiliser les macros @DesktopWidth et @DesktopHeight pour connaitre cette information, mais si vous voulez connaitre le type ou le fabricant de l'écran, ce sera beaucoup moins simple sans WMI. ;)

Code : Tout sélectionner

; Generated by AutoIt Scriptomatic

Global $colItems, $ScreenHeight, $ScreenWidth
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DesktopMonitor", "WQL", 0x30)

If IsObj($colItems) then
   For $objItem In $colItems
      $ScreenHeight = $objItem.ScreenHeight
      $ScreenWidth = $objItem.ScreenWidth
      if $ScreenHeight <> "" then ExitLoop
   Next
  Msgbox(0,"WMI Desktop résolution","Screen Height = " & $ScreenHeight & @CRLF &  "Screen Width = " & $ScreenWidth)
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_DesktopMonitor" )
Endif
Pour information et historique :
► Afficher le texteScriptomaticV2.hta
Voici l'outil WMICodeCreator.exe qui permet une recherche plus précise d'un élément en particulier (et plus ...) :
Image

Et sa fenêtre de résultat :
Image

*** A noter :
Si vous regardez bien dans la liste des onglets de WMICodeCreator.exe, vous y découvrirez aussi la possibilité de créer un code pour exécuter une méthode, et un autre pour gérer la réception d'un événement système ... :roll:
Et sur le dernier onglet, vous aurez la possibilité d'explorer les espaces de noms et ainsi de trouver n'importe quel élément disponible sur votre système avec parfois sa description dans la zone de droite.
Vous pouvez aussi consulter le site de Microsoft sur les Classes WMI afin d'avoir plus d'information sur le sujet (en Anglais)


Merci à Davyly pour le lien dans ce sujet vers l'outil WMICodeCreator.exe que je ne connaissais pas. :mrgreen:
.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#2

Message par Tlem »

A peine sortit et déjà une première mise à jour. :lol:

Mise à jour du script ScriptOmatic.au3 qui corrige quelques bugs et problèmes divers liés à l'interface, ainsi que la traduction en Français de la GUI. ;)
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#3

Message par ricky »

Hello,

il y a un soucis, il manque ceci : #include <WindowsConstants.au3>
Sinon, j'ai des erreurs de compilation.
@pluche
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#4

Message par Tlem »

Pouvez-vous donner plus de détails, car chez moi avec AutoIt v3.3.6.0 je n'ai aucun problème d'include ou de compilation ... :shock:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#5

Message par ricky »

Voici ce que j'ai comme erreurs :
► Afficher le texte
J'ai la version 3.3.6.1 du Aut2Exe.exe.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#6

Message par Tlem »

Vous ne devez sans doute pas avoir le bon script.
Celui qui est dans le Pack WMI_Tools.zip fonctionne parfaitement ...

D'ailleurs, les includes sont :
  • #include <GuiConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#7

Message par ricky »

Effectivement oui, celui-là est bon mais celui-ci :

ScriptoMatic.au3 - version au3 de ScriptomaticV2 disponible ici.

est faux et pose problème.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#8

Message par Tlem »

Heuu, ben oui, dernière édition du sujet le 19 Décembre 2006 ... :lol:
Je modifie le premier sujet, pour indiquer que ce sont les liens d'origines et pas forcément la dernière version disponible ici. 8)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
FernandG
Membre émérite
Membre émérite
Messages : 194
Enregistré le : mar. 15 avr. 2008 21:50
Localisation : Picardie
Status : Hors ligne

Re: WMI Tools (Des outils pour jouer avec le WMI)

#9

Message par FernandG »

Bonjour,

Pour info et pour le partage, j'utilise également WMI Administrative Tools de Microsoft disponible ici.

Bonne journée.
Répondre