C++builder 如何获取端口号

selffight 2014-04-17 05:51:51
如题,我的上位机和下位机通讯程序,只有在选对端口号的时候才运行正常,否则会弹出“Debugger Exception Notification“对话框,请问大神能不能动态的获取端口号呢?或者是如何对这个异常进行处理,不让他弹出对话框,即当有触发按键事件的时候,使”MSComm1->CommPort=**“不触发异常事件。串口通信我用的是MSComm控件。

...全文
238 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cczlp 2014-04-18
  • 打赏
  • 举报
回复
用TMS Async32串口控件, 这个最好用, 你需要的功能也有
selffight 2014-04-18
  • 打赏
  • 举报
回复
引用 1 楼 ccrun 的回复:
看到你的代码片段,当时我就震惊了。抛开效率的问题不说了,就说你的需求,可以考虑遍历端口,用try...catch捕获错误。
,我没怎么写过代码,第一次写,还请版主多指教,嘿嘿
洪武2014 2014-04-18
  • 打赏
  • 举报
回复
TStringList *tmp = new TStringList; //自動取得COM Port的數量 TRegistry *reg = new TRegistry; reg->RootKey = HKEY_LOCAL_MACHINE; if(reg->OpenKey("\\HARDWARE\\DEVICEMAP\\SERIALCOMM",false)) { reg->GetValueNames(tmp); for(int i=0;i<tmp->Count;i++) { AnsiString asCOM = reg->ReadString(tmp->Strings[i])+" 已连接...."; Memo1->Lines->Add(asCOM); } reg->CloseKey(); } else Memo1->Lines->Add("没有COM口连接"); delete reg; delete tmp;
  • 打赏
  • 举报
回复
从注册表中读取串口号,修改一下就能应用到你的程序 http://blog.const.net.cn/a/772.htm
  • 打赏
  • 举报
回复
你在电脑的设备管理器中看端口
ccrun.com 2014-04-17
  • 打赏
  • 举报
回复
看到你的代码片段,当时我就震惊了。抛开效率的问题不说了,就说你的需求,可以考虑遍历端口,用try...catch捕获错误。

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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