Delphi COM端口已在Windows 7中打开

Delphi COM端口已在Windows 7中打开,delphi,serial-port,port,Delphi,Serial Port,Port,当我尝试使用AsyncPro(TapdImport)连接到Windows 7上的COM端口时,会收到类似“设备已打开”的错误消息。但同样的应用程序在WinXP机器上运行良好。我用Delphi6来开发这个程序。请帮我解决这个问题。 谢谢你的帮助。 谢谢。您使用什么组件连接到COM端口 如果您使用CreateFile API打开端口,请使用GetLastError()API查找问题的已验证错误 如果这对你没有帮助,那就意味着这是一个硬件问题 不知道您正在使用的ApdComPort组件,但是您可以做一

当我尝试使用AsyncPro(TapdImport)连接到Windows 7上的COM端口时,会收到类似“设备已打开”的错误消息。但同样的应用程序在WinXP机器上运行良好。我用Delphi6来开发这个程序。请帮我解决这个问题。 谢谢你的帮助。
谢谢。

您使用什么组件连接到COM端口

如果您使用CreateFile API打开端口,请使用GetLastError()API查找问题的已验证错误

如果这对你没有帮助,那就意味着这是一个硬件问题

不知道您正在使用的ApdComPort组件,但是您可以做一个简单的测试,编写一个简单的应用程序,像这样打开端口

var
  comHandle : THandle;
begin
  comHandle := CreateFile('COM66',GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,0,0);
  if comHandle = INVALID_HANDLE_VALUE then ShowMessage(SysErrorMessage(GetLastError))
  else ShowMessage('Port opened');
end //Make shure to replace COM66 with your actual COM Port you wish to open

如果显示端口已打开,则说明您使用的组件存在问题,因此我建议您在此处发布其他错误消息以找到解决方案。

我遇到了类似的问题,通过在串行端口高级属性中将端口名从COM1更改为COM4(通过设备管理器)解决了该问题


一切都很顺利。一些程序仍然将重命名的端口视为COM1,但现在它们可以访问该端口。

对我来说,问题是远程桌面。我检查了连接中的所有本地资源。不知何故,远程桌面阻塞了com端口

@opc0de我正在使用组件ApdComPort。如果你需要更多,请告诉我information@Delphian签出“我的编辑”并发布您收到的错误我正在使用以下设置,ComNumber:=1;波特率:=1200;数据位:=8;停止位:=2;奇偶性:=pNone@Delphian不管波特率如何,com端口都应该打开,所以这里的设置不感兴趣。那么问题是什么?错误消息会告诉您出了什么问题。您有什么理由相信问题不仅仅是找到打开并关闭端口的程序那么简单?请参阅关于超级用户。堆栈溢出是用来解决编程问题的,但我还不确定您是否真的有编程问题。