Hi,
Dinge wie die
IP-Adresse lassen sich per
WMI (Windows Management Instrumentation) ändern. Weiterführende Infomation gibt es in der
MSDN (WMI). Damit die Programmierhilfe von Delphi auch für die
WMI-Interfaces zur Verfügung steht, wird zuerst die Typbibliothek Microsoft
WMI Scripting V 1.x Library importiert. Delphi legt dabei auch auf Wunsch optional auch die
VCL-Wrapperkomponenten für
WMI an.
Hier ist mal das Beispiel aus der
MSDN (VB-Beispiel) umgeschrieben in Delphi, weiß aber nicht ob es schon funktioniert habe es noch nicht getestet.
Delphi-Quellcode:
uses ActiveX;
procedure TForm1.Button1Click(Sender: TObject);
var
aService : ISWbemServices;
aColNetAdapters : ISWbemObjectSet;
aObjNetAdapter : ISWbemObject;
vNVS : OleVariant;
aNVSDummy : IDispatch;
pEnum : IEnumVARIANT;
vOut : OleVariant;
dwRetrieved : LongWord;
hRes : HResult;
vIPAddress : OleVariant;
vSubnetMask : OleVariant;
vObj : OleVariant;
begin
vIPAddress := '
192.168.111.99';
vSubnetMask := '
255.255.255.0';
aService := SWbemLocator1.ConnectServer('
','
','
','
','
','
',0,vNVS);
aColNetAdapters := aService.ExecQuery('
SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE',
'
WQL', 0, aNVSDummy);
pEnum := aColNetAdapters.Get__NewEnum
as IEnumVARIANT;
while (TRUE)
do
begin
hRes := pEnum.Next(1, vObj, dwRetrieved);
if hRes <> S_OK
then
Break;
ShowMessage('
Instanz gefunden!');
vObj.EnableStatic(vIPAddress, vSubnetMask);
end;
end;
Gruß
Markus