Delphi 串口查询所有COM口


本文整理自网络,侵删。

 

//检测串口
function ComPortAvailable(Port: Pchar): boolean;
var
  DeviceName: Array[0..80] of char;
  ComFile: THandle;
begin
  StrPCopy(DeviceName, Port);
  ComFile:= CreateFile(DeviceName, GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  Result:= ComFile <> INVALID_HANDLE_VALUE;
  CloseHandle(ComFile);
end;

var
  Locator,RET,Tmp: OleVariant;
  Enum: IEnumVariant;
  Value: Cardinal;
begin
  (************* 查询串口详细信息 ********)
  Locator := CreateOleObject('WbemScripting.SWbemLocator');
  Ret := Locator.ConnectServer('.', '', '', '').ExecQuery('SELECT * FROM Win32_SerialPort');
  Enum:= IUnknown(RET._NewEnum) as IEnumVariant;
  while (Enum.Next(1, Tmp, Value) = S_OK) do
    memorec.Lines.Add(Tmp.Name+' '+Tmp.DeviceID+' '+Tmp.CreationClassName+' '+Tmp.PNPDeviceID+' '+Tmp.ProviderType);
end;

相关阅读 >>

Delphi 查看字符串在不同编码(ascii、unicode、utf7、utf8、default、bigendianunicode)下的 hex

python4Delphi 示例应用程序在 Delphi 应用程序中运行简单的 python 脚本

Delphi 网址链接提取域名

Delphi侦测按键输入

Delphi 获取 cpu 使用率的单元

Delphi getversionstring 获取文件版本信息

Delphi 下找到目录中的所有文件夹

Delphi xe 在图片上写字

Delphi中使用directx截屏函数

sendmessage这个函数有很多奇妙的用法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...