PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → [WD8] Fonction WMI : Win32 MotherboardDevice
[WD8] Fonction WMI : Win32 MotherboardDevice
Débuté par wierko, 19 jan. 2005 12:49 - 4 réponses
Posté le 19 janvier 2005 - 12:49
Bonjour,

Je souhaite, comme beaucoup d'après ce que j'ai pu lire sur différents forums, pouvoir alimenter de facon automatique les infos des ordinateurs dans mon logiciel de gestion du parc.

Je voudrais récupérer des informations concernant la carte mère, mais impossible de parvenir à se faire dérouler correctement cette fonction. La documentation étant assez maigre à ce sujet, je ne sais quoi mettre dans la sélection à cette ligne là :

objDisk = objInstance>>Item("Win32_MotherboardDevice")

Pour le processeur, il fallait mettre "Win32_Processor='cpu0'"

Là si je le laisse dans l'état pour MotherboardDevice, il me met un message d'erreur comme quoi l'item n'a pas été trouvé :

"Vous avez appelé la méthode Automation 'Item'.
En tentant d'invoquer la méthode <Item> ou de lire la propriété <Item>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Non trouvé '"

Quelqu'un saurait-il comment obtenir ces infos,
Et à l'occasion connaitrait un site ( ou livre ) permettant d'en savoir un peu plus sur les WMI ?

Merci d'avance
Posté le 19 janvier 2005 - 17:04
Wierko a écrit :
Bonjour,

Je souhaite, comme beaucoup d'après ce que j'ai pu lire sur différents forums, pouvoir alimenter de facon automatique les infos des ordinateurs dans mon logiciel de gestion du parc.

Je voudrais récupérer des informations concernant la carte mère, mais impossible de parvenir à se faire dérouler correctement cette fonction. La documentation étant assez maigre à ce sujet, je ne sais quoi mettre dans la sélection à cette ligne là :

objDisk = objInstance>>Item("Win32_MotherboardDevice")

Pour le processeur, il fallait mettre "Win32_Processor='cpu0'"

Là si je le laisse dans l'état pour MotherboardDevice, il me met un message d'erreur comme quoi l'item n'a pas été trouvé :

"Vous avez appelé la méthode Automation 'Item'.
En tentant d'invoquer la méthode <Item> ou de lire la propriété <Item>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Non trouvé '"

Quelqu'un saurait-il comment obtenir ces infos,
Et à l'occasion connaitrait un site ( ou livre ) permettant d'en savoir un peu plus sur les WMI ?

Merci d'avance

Bonjour
Une ressource utile sur le sujet :
http://www.wdforge.org/modules/news/article.php…
++ R&B de www.WDForge.org
Posté le 19 janvier 2005 - 17:36
Merci ; )

Mais je l'avais déjà téléchargé, et n'étais pas parvenu à le faire fonctionner ( mais je viens de lire dans les commentaires qu'il est indispensable de posséder le framework dotnet, et j'ai comme un gros doute le concernant )

Quoiqu'il en soit j'ai déjà regarder les sources de ce produit, mais j'avoue un peu complètement nagé... Alors que les exemples cités précédemment sur le forum me parraissait bcp plus accessible.

Surtout qu'à priori il ne s'agit que d'une synthaxe concernant motherboard
Posté le 20 janvier 2005 - 01:01
Bonjour,

Etant l'auteur de l'exemple cité sur la ressource présente sur le site
wdforge, j'ai rencontré avec WinDev8 un problème au niveau de la
manipulation de l'objet Windows management Instrumention avec certain ordre
passé à l'assemblage DotNet.

En effet je comprends pas pourquoi le WLanguage me retourne des erreurs sur
des ordres qui fonctionnes très bien en DotNet.
J'ai d'ailleurs envoyé une requête au ST pour laquelle je n'ai pas eu encore
de réponse.

A force d'attente j'ai redévellopé un assemblage en DotNet qui me permet de
passer toutes les commandes WMI.
Aujourd'hui le programme traite plus de 400 commandes WMI de base en local
et sur les postes du réseau.

la section Win32_MotherboardDevice contient à elle seule plus de 50 requêtes
WMI
-Controleurs(ide, floppy, 1394, etc...)
-info processeurs
-Bios
-Mémoire cache
-DMA
-Infra rouge
-IRQ
-Port paralelle
-PCMCIA
-SCSI
-port série
-carte son
-etc....

[Drcharly93]
co-animateur www.wdforge.org

"Wierko" <wierko@hotmail.com> a écrit dans le message de news:
41ee30b4@news.pcsoft.fr...

Bonjour,

Je souhaite, comme beaucoup d'après ce que j'ai pu lire sur différents
forums, pouvoir alimenter de facon automatique les infos des ordinateurs
dans mon logiciel de gestion du parc.

Je voudrais récupérer des informations concernant la carte mère, mais
impossible de parvenir à se faire dérouler correctement cette fonction. La
documentation étant assez maigre à ce sujet, je ne sais quoi mettre dans
la sélection à cette ligne là :

objDisk = objInstance>>Item("Win32_MotherboardDevice")

Pour le processeur, il fallait mettre "Win32_Processor='cpu0'"

Là si je le laisse dans l'état pour MotherboardDevice, il me met un
message d'erreur comme quoi l'item n'a pas été trouvé :

"Vous avez appelé la méthode Automation 'Item'.
En tentant d'invoquer la méthode <Item> ou de lire la propriété <Item>,
l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Non trouvé '"

Quelqu'un saurait-il comment obtenir ces infos,
Et à l'occasion connaitrait un site ( ou livre ) permettant d'en savoir un
peu plus sur les WMI ?

Merci d'avance
Posté le 20 janvier 2005 - 13:29
Merci pour votre réponse, et de vos recherches sur le sujet ^^

Sauriez vous m'en dire un peu plus sur la fonction baseboard ou motherboard, en sachant que ce code là fonctionne chez moi ?

// Allocation d'un WbemLocator
objLocator est un objet automation dynamique
objLocator = allouer un objet automation "WbemScripting.SWbemLocator"
SI objLocator=Null ALORS
Erreur("Bug 1")
GOTO CLEANUP
FIN

// Connection au service
objService est un objet automation dynamique
objService=objLocator>>ConnectServer()//".", "root\cimv2", Null, Null)
SI objService=Null ALORS
Erreur("Bug 2")
GOTO CLEANUP
FIN

// Affectation du niveau
objService>>Security_>>ImpersonationLevel =3

// Exécution de la demande
objInstance est un objet automation dynamique
objInstance=objService>>ExecQuery("SELECT * FROM Win32_Processor")
SI objInstance=Null ALORS
Erreur("Bug 3")
GOTO CLEANUP
FIN
SI objInstance>>Count=0 ALORS
GOTO CLEANUP
SINON
Info(objInstance>>Count)
FIN



Exemple de récupération sur 1 des objets du set
objDisk est un objet automation dynamique
objDisk = objInstance>>Item("Win32_Processor='cpu0'")
SI objDisk=Null ALORS
Erreur("bUg 4")
GOTO CLEANUP
FIN
Info("Famille de processeur : "+objDisk>>Name)

// Libération
CLEANUP:
SI objLocator<>Null ALORS libérer(objLocator)
SI objService<>Null ALORS libérer(objService)
SI objInstance<>Null ALORS libérer(objInstance)
SI objDisk<>Null ALORS libérer(objDisk)





==================================================

Aussi, je n'ai pas comprit comment il fallait faire fonctionner votre logiciel, j'ai bien le frameworks 1.1 d'installé, faut-il que je compile l'exécutable en .net pour que cela fonctionne ?

Merci d'avance