Thema: Delphi ip ändern

Einzelnen Beitrag anzeigen

Benutzerbild von elliot2extreme
elliot2extreme

Registriert seit: 6. Jun 2003
Ort: Mannheim
68 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: ip ändern

  Alt 26. Mai 2004, 13:19
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
Markus
  Mit Zitat antworten Zitat