ich glaub ich habs jetzt so wie du es willst ...
Delphi-Quellcode:
function GetIPAddress :
string;
var
wmi : variant;
wmiService : variant;
nicstatus : variant;
card : Olevariant;
cnt : integer;
Enum: IEnumVariant;
P : IUnknown;
F : Cardinal;
cardCap :
String;
strSettingID :
String;
i : integer ;
begin
WMI:=CreateOleObject('
WbemScripting.SWbemLocator');
wmiService :=
wmi.ConnectServer('
.', '
root\CIMV2');
nicstatus := wmiService.InstancesOf('
Win32_NetworkAdapterConfiguration');
p := nicstatus._NewEnum;
p.QueryInterface(IEnumVariant, Enum);
for cnt := 0
to nicstatus.Count - 1
do
begin
Enum.Next(1, card, F);
cardCap := Copy(card.Caption, 12, MaxInt);
if cardCap = FAdapter
then //Wenn Adapter in der jeweiligen Instanz gleich von mir definierter Adapter
begin
//result := getWMIValue('Win32_NetworkAdapterConfiguration','IPAddress','Marvell%');
for i:=0
to vararraydimcount(card.ipaddress)
do
result := result + card.ipaddress[i] + '
;' ;
break;
end
end;
end;
prüf mal ob es hinkommt, aber ob es unter w2000 läuft weiß ich net
cya