首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到com0com虚拟端口

找不到com0com虚拟端口
EN

Stack Overflow用户
提问于 2012-01-07 20:28:18
回答 3查看 14.7K关注 0票数 15

我已经成功地在64位的Windows7机器上安装了com0com v2.2.2.0。

我运行命令实用程序,如下所示:

代码语言:javascript
复制
command> install PortName=COM9 PortName=COM8
       CNCA0 PortName=COM9
       CNCB0 PortName=COM8
ComDB: COM8 - logged as "in use"
ComDB: COM9 - logged as "in use"

command> busynames COM?*
COM3
COM4
COM5
COM6
COM8
COM9
COMPOSITEBATTERY

注意:记录为“使用中”不是错误消息吗?

然后我试着像这样打开COM8

代码语言:javascript
复制
m_hIDComDev = CreateFileA( szCodedPort, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL );
if( m_hIDComDev == NULL  || m_hIDComDev == INVALID_HANDLE_VALUE ) {

    wchar_t * lpMsgBuf;
    DWORD dw = ::GetLastError(); 
    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
        FORMAT_MESSAGE_FROM_SYSTEM |
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        dw,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) &lpMsgBuf,
        0, NULL );

    myErrorMsg = (char*)malloc( 200 );
    sprintf(myErrorMsg,"Error creating connection %s ( %s ) %S",
        szPort,szCodedPort,lpMsgBuf);

这不符合

代码语言:javascript
复制
Error creating connection COM8 ( COM8 ) The system cannot find the file specified.

我试过"COM8“和"\\.\COM8"

请注意,对CreateFileA的完全相同的调用完全可以在“real”COM端口上工作。

问:有人能告诉我问题出在哪里吗?

答:在windows 7 64位上,您必须启用未签名驱动程序的测试。

  • 以管理员身份运行命令提示符。(仅从具有管理权限的帐户运行是不够的。有关如何执行此操作的详细信息,请参阅这里。)
  • 输入命令bcdedit -set TESTSIGNING ON
  • 重新启动。( Windows将在桌面右下角放置“测试模式”注释)

对于Windows 8,此方法不能令人满意或容易地工作。这里是一些讨论的问题和解决办法。

或者,您可能想尝试一个签名版本 -我自己还没有试过这个。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-09 04:40:20

以下是我的观点:

  • 微软要求64-bit drivers成为signed
  • com0com.sys (64位)是一个简单的无符号内核模式驱动程序。

SoftWx编写了一个关于在64位Windows 7计算机上安装它的有趣教程。你可以去取这里

票数 9
EN

Stack Overflow用户

发布于 2013-01-08 11:43:29

如果有人引用这一点,并对此主题感兴趣,2.2.2.0版本的com0com将为64位Windows进行签名。这消除了跳过将Windows置于“测试”模式的循环的需要。

票数 19
EN

Stack Overflow用户

发布于 2021-10-22 15:52:55

这是一个非常古老的帖子,但只是为了增加一些帮助,如果有人偶然发现它像我一样。

在Windows 10版本2004之后,您可能需要禁用BIOS中的安全启动。

我从SourceForge获得了一个经过签名的3.0版本的应用程序,这在我的一台PC (Windows10Pro 2004版)上工作得很好。我刚刚安装了这个应用程序,并立即创建了两对链接端口。

在我的笔记本电脑(Windows 10 Pro版本20H2)上,我没有得到相同的结果。未创建COM端口,并且无法在设备管理器中配置设备。更改BIOS设置后,我重新安装,一切顺利。

参考链接:

https://sourceforge.net/projects/com0com/

https://sourceforge.net/projects/signed-drivers/files/com0com/v3.0/

要回答上面的@DaAwesomeP (我没有代表将它放在评论中),在GitHub https://github.com/paulakg4/com0com上有一个回购程序,在这里我可以看到一个changes.txt。如果我比较一下日期,它看起来就像那里的3.0版本一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8772858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档