枚举Delphi中的系统Com端口列表
-
03-07-2019 - |
解决方案
DEVICEMAP \ SERIALCOMM 适用于所有NT版本。您可能需要在DYN_DATA下查找Win9x。
如果您需要运行时可靠性,请使用此方法。
其他提示
请浏览用C ++编写的URL
http://www.codeproject.com/KB/system/serial_portsenum_fifo.aspx
同样的方法也可以在delphi中实现..或者有人可以在SO中为你转换..
这适用于所有Windows版本,因为它的工作原理是设备管理器,可用于所有窗口版本。
这是LINUX的代码,不适用于WINDOWS ....
function GetSerialPortNames: string;
var
Index: Integer;
Data: string;
TmpPorts: String;
sr : TSearchRec;
begin
try
TmpPorts := '';
if FindFirst('/dev/ttyS*', $FFFFFFFF, sr) = 0 then
begin
repeat
if (sr.Attr and $FFFFFFFF) = Sr.Attr then
begin
data := sr.Name;
index := length(data);
while (index > 1) and (data[index] <> '/') do
index := index - 1;
TmpPorts := TmpPorts + ' ' + copy(data, 1, index + 1);
end;
until FindNext(sr) <> 0;
end;
FindClose(sr);
finally
Result:=TmpPorts;
end;
end;
不隶属于 StackOverflow