Advertisement
saper_2

WMI Delphi Code Creator - List of COM Ports

Jan 8th, 2014
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.32 KB | None | 0 0
  1. //-----------------------------------------------------------------------------------------------------
  2. //     This code was generated by the Wmi Delphi Code Creator http://theroadtodelphi.wordpress.com
  3. //     Version: 1.8.3.0
  4. //
  5. //
  6. //
  7. //     LIABILITY DISCLAIMER
  8. //     THIS GENERATED CODE IS DISTRIBUTED "AS IS". NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED.
  9. //     YOU USE IT AT YOUR OWN RISK. THE AUTHOR NOT WILL BE LIABLE FOR DATA LOSS,
  10. //     DAMAGES AND LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS CODE.
  11. //
  12. //
  13. //----------------------------------------------------------------------------------------------------
  14. program GetWMI_Info;
  15.  
  16. {$APPTYPE CONSOLE}
  17.  
  18. uses
  19.   SysUtils,
  20.   ActiveX,
  21.   ComObj,
  22.   Variants;
  23.  
  24.  
  25.    
  26. // The Win32_SerialPort class represents a serial port on a Win32 system.
  27.  
  28. procedure  GetWin32_SerialPortInfo;
  29. const
  30.   WbemUser            ='';
  31.   WbemPassword        ='';
  32.   WbemComputer        ='localhost';
  33.   wbemFlagForwardOnly = $00000020;
  34. var
  35.   FSWbemLocator : OLEVariant;
  36.   FWMIService   : OLEVariant;
  37.   FWbemObjectSet: OLEVariant;
  38.   FWbemObject   : OLEVariant;
  39.   oEnum         : IEnumvariant;
  40.   iValue        : LongWord;
  41. begin;
  42.   FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
  43.   FWMIService   := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
  44.   FWbemObjectSet:= FWMIService.ExecQuery('SELECT * FROM Win32_SerialPort','WQL',wbemFlagForwardOnly);
  45.   oEnum         := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
  46.   while oEnum.Next(1, FWbemObject, iValue) = 0 do
  47.   begin
  48.     Writeln(Format('Caption        %s',[String(FWbemObject.Caption)]));// String
  49.     Writeln(Format('Description    %s',[String(FWbemObject.Description)]));// String
  50.     Writeln(Format('DeviceID       %s',[String(FWbemObject.DeviceID)]));// Array of String
  51.        
  52.     Writeln('------------------------------------------------');
  53.     FWbemObject:=Unassigned;
  54.   end;
  55. end;
  56.  
  57.  
  58. begin
  59.  try
  60.     CoInitialize(nil);
  61.     try
  62.       GetWin32_SerialPortInfo;
  63.     finally
  64.       CoUninitialize;
  65.     end;
  66.  except
  67.     on E:EOleException do
  68.         Writeln(Format('EOleException %s %x', [E.Message,E.ErrorCode]));
  69.     on E:Exception do
  70.         Writeln(E.Classname, ':', E.Message);
  71.  end;
  72.  Writeln('Press Enter to exit');
  73.  Readln;      
  74. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement