如何判断串口已经被占用了呢?
例如COM1已经被仿真器使用了,程序如何检测到呢?
例如COM1已经被仿真器使用了,程序如何检测到呢?
解决方案 »
- 超难的存储过程,挑战高手。
- 大家来看看这两句那一个是对的。谢谢
- 关于录入焦点的简单问题
- BDE 版本问题
- 我就像一条游荡街头的野狗..........(散分)
- ADO问题,在线等待
- 如何用StringGrid显示数据库的数据,并且进行编辑?求教高手
- 我想问一下这样的软件哪里有下载??
- 还是老问题,如何实现前台delphi通过一个Button按钮,直接实现sql server数据库的备份
- 200分求酒店房间分布图的解决方案,ListView很麻烦,自己要写很多代码控制。
- 為什么在主從表中用ADO連接SQL Server時﹐動態地指定ADOConnection的connectionstring時卻總是出現這種錯誤﹗
- 初级程序员问如何在TDBLookupComboBox中动态付值?高分100!急急急!!!
showmessage('端口已打开!');
在注册表的HKEY_LOCAL_MACHINE\hardware\devicemap\serialcomm下包含了已经使用的串口的名称实例:uses Registry;procedure TForm1.Button3Click(Sender: TObject);
var
reg : TRegistry;
ts : TStrings;
i : integer;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.OpenKey('hardware\devicemap\serialcomm',false);
ts := TStringList.Create;
try
reg.GetValueNames(ts); //获得子键下的所有项
for i := 0 to ts.Count -1 do
begin //把每一项下的串值显示在Memo1中
Memo1.Lines.Add(reg.ReadString(ts.Strings[i]));
end;
finally
ts.Free;
end;
finally
reg.CloseKey;
reg.free;
end;
end;
menliwxj(有缘) 的方法不行吗??
GENERIC_READ or GENERIC_WRITE,
0, {not shared}
nil, {no security ??}
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED, 0); if hNewCommFile = INVALID_HANDLE_VALUE then
showmessage( 'Error opening serial port' );