1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| procedure TfmMain.buActualiserClick(Sender: TObject);
var
WmiLocator: TSWbemLocator;
WmiService: SWbemServices;
WmiObjectSet: SWbemObjectSet;
WmiObject: SWbemObject;
//WmiProperty: SWbemProperty;
Registre: TRegistry;
ObjectEnumerator: IEnumVariant;
ArrayVariant: OleVariant;
NumberItem: LongWord;
OldCursor: TCursor;
test: String;
item0: Variant;
begin
Registre := TRegistry.Create;
WmiLocator:= TSWbemLocator.Create(self);
try
//////////////////////////////////////////////////////////
// Recuperation des informations via WMI
//////////////////////////////////////////////////////////
// Connexion WMI (PCName, 'ROOT\CIMV2', UserName, UserPassword, '', '', ...)
WmiService:= WMILocator.ConnectServer('.', 'ROOT\CIMV2', '', '', '',
'', wbemConnectFlagUseMaxWait, nil);
// Recuperation des infos Connexions réseaux
WmiObjectSet := wmiService.InstancesOf('Win32_NetworkAdapterConfiguration WHERE IPEnabled = True',
wbemFlagReturnWhenComplete, nil);
ObjectEnumerator:= (WmiObjectSet._NewEnum) as IEnumVariant;
while (ObjectEnumerator.Next(1, ArrayVariant, NumberItem) = S_OK) do
begin
WmiObject := IUnknown(ArrayVariant) as SWBemObject;
if WmiObject.Properties_.Item('DefaultIPGateway',0).Get_Value[0] <> NULL
Then edGateway.Text := WmiObject.Properties_.Item('DefaultIPGateway',0).Get_Value[0];
Finally;
WmiLocator.Free;
end;
end; |
Partager