再提一问,关于MScomm控件: 在使用MScomm控件时,怎么判断,所选择的串口已被其它程序使用?谢谢!!

workbook 2005-11-21 02:30:34
在使用MScomm控件时,怎么判断,所选择的串口已被其它程序使用?谢谢!!
...全文
109 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
workbook 2005-11-28
  • 打赏
  • 举报
回复
有道理,谢谢!!
ghyd 2005-11-27
  • 打赏
  • 举报
回复
o 我也使用过mscomm,理解了一下你的意思,时不是说:一个程序A将使用串口2,但目前还没有使用,怎么才能让另外一个程序B知道A将使用串口2?
我想这个应该是不可能的,因为在两个相互独立的程序中,除非A已经打开了串口设备,那么B将不能使用该设备,否则,B并不可能了解到A在以后的操作中会用到什么设备。
解决的办法是,A在一开始的时候就打开串口2,不管目前是不是马上要使用。这样B就无法使用串口2了。
workbook 2005-11-23
  • 打赏
  • 举报
回复
但是我想问的并不是写代码阶段,而是程序运行阶段会出现的问题如何避免:
比如运行程序A,且程序A将要使用串口1(但还未使用),
再运行程序B,而程序B不知道程序A要使用串口1,并且在设置中选择了串口1,
因为程序A还没有开始使用串口1,所以
if(mscomm.GetPortOpen() ){
show(error!);
}
all OK,但是这就会有个问题就是当A开始使用串口时却无法使用。
所以我想知道怎么修改代码,可以避免这个问题。当然前提是使用MScomm ActiveX控件
workbook 2005-11-23
  • 打赏
  • 举报
回复
有点道理!谢谢!
workbook 2005-11-22
  • 打赏
  • 举报
回复
是不是用MSComm是不可能办到的?
zc0012 2005-11-22
  • 打赏
  • 举报
回复
不知道这样理解是否正确:
1、不同程序使用同一个串口,通常无法做到;编程调试或运行时系统会报错。
2、你在打开串口时,串口已经打开;或者关闭时已经关闭等可以作为串口已经占用判断条件。
3、加入异常处理,截获第一种情况。
workbook 2005-11-21
  • 打赏
  • 举报
回复
没人会么?还是大家都不用MSComm?
workbook 2005-11-21
  • 打赏
  • 举报
回复
我使用过GetPortOpen(),但是这个函数只能用来判断已经打开的串口,而无法判断已经被其它程序所使用,但是却还没有被打开的串口。

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧