Bonjour,
J'ai un petit problème pour utiliser le WMI de windows.
J'essaie de récupérer l'aresse MAC des cartes réseaux d'après un code sur internet trouvé avec google et je bloque au début du code.
Je fais les déclarations :
Et le compilateur indique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 UnicodeString __fastcall TForm1::MACAdresse() { SWbemServices *WmiService; SWbemObject *WmiObjet; SWbemObjectSet *wmiObjetSet; IEnumVariant *ObjectEnumerator; OleVariant ArrayVariant; LongWord NumberItem; TSWbemLocator *WMILocator; }
J'ai pourtant fait tous les includes. J'en ai même rajouter pou trouver celui qui manque :[BCC32 Erreur] Unit1.cpp(219): E2451 Symbole 'IEnumVariant' non défini
Dans l'aide de c++Builder (ms-help://embarcadero.rs2009/Automat/html/139e3c93-faef-4003-9079-e0e94494db3e.htm) il est indiqué qu'il y a un fichier exemple Enumvar.cpp qui ne se trouve pas sur mon disque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <OleServer.hpp> #include <Variants.hpp> #include <WbemScripting_OCX.h> #include <WbemScripting_TLB.h> #include <SysUtils.hpp> #include <ActiveX.hpp> #include <ComObj.hpp> #include <Oleauto.h> #include <SysUtils.hpp>
Avec Delphi, il n'y a aucun problème, tout fonctionne.
Une solution?
J'essaie de créer un numéro unique pour identifier une machine qui doit envoyer des données régulièrement dans une base de données. Et il faut que ce numéro soit toujours le même après un formatage, donc, je pensais faire un numéro basé sur l'adresse MAC. Si vous avez une autre idée à la place, je suis preneur.
Merci
Partager