使用vspd虚拟com,打开失败

使用vsdp虚拟的com软件,可以模拟com接口,但程序调试时发现,使用CreateFile()打开虚拟的COM时总是失败,使用一些超级终端类软件,亦是如此。后来在设备管理器中查看后,vsdp确实是在驱动层模拟了com接口,但为什么失败呢?


Win32 API函数CreateFile()除了可打开普通文件外,还可以打开设备,比如可用于打开串口,获得串口句柄。

使用CreateFile()函数打开存在的com口时,此时的com口驱动程序,解析了“COM1”,但由vspd驱动创建的虚拟com,打开时,没有解析"COM1",这是由于vsdp驱动符号连接设置的问题。使用"\\\\.\\COM1"方式,即可正常打开有vspd虚拟的com接口。

正确的打开方式如下:

HANDLE hComm = CreateFile("\\\\.\\COM1",		
GENERIC_READ | GENERIC_WRITE,	
0,								
NULL,							
OPEN_EXISTING,					
FILE_FLAG_OVERLAPPED,			
0);		


 

问题: 当Mobile连接其他蓝牙设备的时候。例如连接 蓝牙打印机或者蓝牙打印机的时候, 默认会分配一个端口,例如COM6, 有时候会出现 无法创建com端口,请检查你的设置,然后重试 如下面所示! 例如症状如上:http://bbs.koxo.cn/thread-15114-1-1.html 还有百度知道:http://zhidao.baidu.com/question/143642061 例如:http://www.gpsxx.com/viewthread.php?tid=5258 参考:http://bbs.pdafans.com/forum.php?mod=viewthread&tid=240434&page=1 参考:http://bbs.imobile.com.cn/thread-tid-2134661-userId-1034752.html 为什么呢?是因为之前你的手机连接过这些设备,所以默认会本占坑,就是占住了一个com口(系统自动分配一个COM口) 如果你再连接其他设备,此com口 为上一个COM口保留 所以会提示 无法创建com端口,请检查你的设置,然后重试。 我们该如何做呢? 参考这里: 试着用注册表编辑器看看HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Bluetooth\\Serial\\Ports。(你应该用过) 用注册表编辑器 到这个位置删除里面所有的文件夹,(不要删除文件)即可。 删除后 重启 即可 解决占用问题。 里面 有默认键值为: 1.Default (不要动 不能删) 2. SupportedPorts (不能动 不能删) 其余都删除,删除后,重启 手机,既可 能打开 COM 6 随后我们会将发布一个程序 自动删除 然后自动重启手机即可。你先试下这样能不能解决问题。 -------------------------------------------------------------------------------- 个人解决办法: 没事 就写个工具吧,更简单 更有效!(我们芝柯打印公司也遇到这个问题给客户解决此问题吧!) -------------------------------------------------------------------------------- 程序说明 by: lixiaodaoaaa2011 http://hi.baidu.com/lixiaodaoaaa 腾讯微博:http://t.qq.com/lixiaodaoaaa 欢迎收听:(实时更新)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值