Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-----------------------------------------------------------------------------------------------------
- // This code was generated by the Wmi Delphi Code Creator http://theroadtodelphi.wordpress.com
- // Version: 1.8.3.0
- //
- //
- //
- // LIABILITY DISCLAIMER
- // THIS GENERATED CODE IS DISTRIBUTED "AS IS". NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED.
- // YOU USE IT AT YOUR OWN RISK. THE AUTHOR NOT WILL BE LIABLE FOR DATA LOSS,
- // DAMAGES AND LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS CODE.
- //
- //
- //----------------------------------------------------------------------------------------------------
- program GetWMI_Info;
- {$APPTYPE CONSOLE}
- uses
- SysUtils,
- ActiveX,
- ComObj,
- Variants;
- // The Win32_SerialPort class represents a serial port on a Win32 system.
- procedure GetWin32_SerialPortInfo;
- const
- WbemUser ='';
- WbemPassword ='';
- WbemComputer ='localhost';
- wbemFlagForwardOnly = $00000020;
- var
- FSWbemLocator : OLEVariant;
- FWMIService : OLEVariant;
- FWbemObjectSet: OLEVariant;
- FWbemObject : OLEVariant;
- oEnum : IEnumvariant;
- iValue : LongWord;
- begin;
- FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
- FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
- FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_SerialPort','WQL',wbemFlagForwardOnly);
- oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
- while oEnum.Next(1, FWbemObject, iValue) = 0 do
- begin
- Writeln(Format('Caption %s',[String(FWbemObject.Caption)]));// String
- Writeln(Format('Description %s',[String(FWbemObject.Description)]));// String
- Writeln(Format('DeviceID %s',[String(FWbemObject.DeviceID)]));// Array of String
- Writeln('------------------------------------------------');
- FWbemObject:=Unassigned;
- end;
- end;
- begin
- try
- CoInitialize(nil);
- try
- GetWin32_SerialPortInfo;
- finally
- CoUninitialize;
- end;
- except
- on E:EOleException do
- Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
- on E:Exception do
- Writeln(E.Classname, ':', E.Message);
- end;
- Writeln('Press Enter to exit');
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement