![]() |
Wie setze man WMI Werte?
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:
Könnt ihr mir weiterhelfen?
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; Vielen Dank im voraus. |
Re: WIe setze man WMI Werte?
...irrrrrtum....
|
Re: Wie setze man WMI Werte?
Hat denn keiner ne Idee. Ich wäre ja schon glücklich wenn es überhaupt gehen würde. Egal mit welcher Programmiersprache.
|
Re: Wie setze man WMI Werte?
Ach Du schande... ich hatte das schonmal gemacht.. wie ging denn das nochmal? :gruebel:
Zum einen mal muss man freilich Schreibrechte auf der WMI-Verbindung haben. Zum anderen darf das Property freilich nicht als Readonly markiert sein. Eigentlich sollte Put dann funktionieren. Als Parameter erwartet das den Propertynamen, den Wert (als pointer auf einen Variant) und das wichtigste an der Geschichte ist der vtType Parameter, der den Typen des Variants angibt. Das Problem was man dann noch haben kann ist, dass der entsprechende WMI-Provider diese Put-Operation dennoch nicht unterstützt. Kommt leider arg häufig vor. Die Alternative wäre, nach Methoden auf dem Objekt suchen, die das gewünschte erledigen sollen. |
Re: Wie setze man WMI Werte?
Vielen Dank.
Aber das klingt sehr kompliziert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz