Bonjour,
Je débute avec WMI, j'arrive à obtenir des infos mais comme je n'ai pas tout ce que je veux mais je cherche
Ce que je cherche (et ne trouve pas) c'est ou trouver les phrases type commepar exemple et y en a d'autres (j'en ai vu dans la FAQ)SELECT * FROM WIN32_LOGICALDISK WHERE NAME="C:"
Connaître la différence entre "WMILocator:= CoSWbemLocator.Create();" et "WMILocator:= TSWbemLocator.Create(self);" et s'il y en a d'autre et pourquoi celui la plus qu'un autre
C'est plus de la doc que du code dont j'ai besoin
Par avance merci, pour l'instant ça me fais plus cette effetheu celui du bas pas celui qui tape
Désolé il manque des procedure / fonction. Mais sont dispo si vous les voulez
Info sur mon PC
Info sur un lecteur
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 var wmiObjectSet: ISWbemObjectSet; Value: Cardinal; SObject: ISWbemObject; ArrayVariant : OleVariant; ObjectEnumerator : IEnumVariant; begin try wmiObjectSet := connectionI.ExecQuery('SELECT * FROM WIN32_LOGICALDISK WHERE NAME="C:"','WQL', // <==== ici la lettre du lecteur wbemFlagReturnImmediately and wbemFlagForwardOnly , nil); ObjectEnumerator := (wmiObjectSet._NewEnum) as IEnumVariant; if (ObjectEnumerator.Next(1, ArrayVariant, Value) = S_OK) then // un objet trouvé ? begin SObject :=IUnknown(ArrayVariant) as ISWBemObject; if (SObject <> nil) then begin // SObject.Properties_; Memo1.Lines.Add(SObject.GetObjectText_(0)); // Acceder aux propriétés Memo1.Lines.Add(WMILecture(SObject.GetObjectText_(0),'Caption')); end; end; except //Result:=''; end;
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 Var wmiObjectSet: SWbemObjectSet; ObjectEnumerator: IEnumVariant; ArrayVariant: OleVariant; WmiObject: SWBemObject; NumberItem: LongWord; begin wmiObjectSet := connectionT.InstancesOf('Win32_OperatingSystem', //wmiService:=connection; wbemFlagReturnWhenComplete,Nil); ObjectEnumerator:= (WmiObjectSet._NewEnum) as IEnumVariant; while (ObjectEnumerator.Next(1, ArrayVariant, NumberItem) = S_OK) do begin WmiObject := IUnknown(ArrayVariant) as SWBemObject; // Récupére de la collection l'objet SWbemObject courant Memo1.Lines.Add(AdjustLineBreaks(wmiObject.GetObjectText_(0))); // Retrouve la propriétés de l'instance au format MOF . end; label1.Caption:='nom : '+wmilecture(wmiObject.GetObjectText_(0),'caption'); //AdjustLineBreaks((wmiObject.path as SWbemObjectPath ).relpath); end;
Partager