Frohe Ostern miteinander,
mich würde mal interessieren wie man einen
WMI Wert einer bestimmten
WMI Klasse setzt, z.B. Manufacturer.
Mit folgendem Code kann ich auf die
WMI Klasse zugreifen und Wert auslesen. Leider weiß ich jetzt nicht wie man Wert setzt. Habe mal was versucht, was aber nicht klappte.
Delphi-Quellcode:
procedure Tfrm_main.btn_setClick(Sender: TObject);
var
SWbemLocator1 : ISWbemLocator;
aSrv : ISWbemServices;
vNVS : OleVariant;
aObjSet : ISWbemObjectSet;
aNVSDummy : IDispatch;
pEnum : IEnumVARIANT;
vOut : OleVariant;
dwRetrieved : LongWord;
hRes : HResult;
computer : String;
begin
try
SWbemLocator1 := CoSWbemLocator.Create;
aSrv := SWbemLocator1.ConnectServer(computer,'root\cimv2','','','','',0,vNVS);
aObjSet := aSrv.ExecQuery('Select * from Win32_ComputerSystem','WQL', 0, aNVSDummy);
pEnum := aObjSet.Get__NewEnum as IEnumVARIANT;
hRes := pEnum.Next(1, vOut, dwRetrieved);
if hRes = S_OK then
begin
vOut.Manufacturer := 'Testeintrag';
vOut.SetInfo; // blau-äugiger Versuch...leider kommt ein Fehler
// vOut.Put // funktioniert auch nicht
end;
Except
//
end;
end;
Könnt ihr mir weiterhelfen?
Vielen Dank im voraus.