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 自带的 base64 编解码函数

Delphi unidbtreegrid判断点击折叠事件

Delphi 62进制转10进制

Delphi 搜索字符串在流中的位置

Delphi中让图片大小随timage控件大小变化

Delphi 将 4 个 byte 合成 1 个 integer 的五种方法 - 回复 "三足乌" 的问题

Delphi弹出信息框大全

Delphi getmimetype 查询文件mime类型函数

Delphi ado 连接 excel (附excel各个版本的版本号)

Delphi 监控系统文件操作

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



打赏

取消

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

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

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

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

评论

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