社区
Windows SDK/API
帖子详情
如何取得计算机的COM口号?
BlueSea_zl
2007-04-28 03:40:17
计算机上可采用USB转串口的线(内带usb转串口芯片),可能是COM5, COM8之类的新串口名.
我用什么方法动态地取得目前计算机支持的各个串口号呢?
程序怎么知道计算机上有COM5还是没有COM5?
...全文
315
4
打赏
收藏
如何取得计算机的COM口号?
计算机上可采用USB转串口的线(内带usb转串口芯片),可能是COM5, COM8之类的新串口名. 我用什么方法动态地取得目前计算机支持的各个串口号呢? 程序怎么知道计算机上有COM5还是没有COM5?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
BOOT2011BOOT
2012-03-24
打赏
举报
回复
上面这个函数在VS2010中除了变量类型方面的一些小问题,还是可以用的~~
BlueSea_zl
2007-04-29
打赏
举报
回复
谢谢楼上的两位,我自己找到了.
我用的是C++Builder,他有个tregistry类,调用tregistry的getvalues方法可以获得当前键的所有值.
当然,事先tregistry对象要open"HARDWARE\DEVICEMAP\SERIALCOMM"这个键. 这样就能获得所有的串口号了
yctin
2007-04-28
打赏
举报
回复
//---------------------------------------------------------------------------
//从注册表取得所有串口名
int GetSerialPortsReg(char (*pListStr)[80])
{
HKEY hKey;
LPCTSTR data_Set="HARDWARE\\DEVICEMAP\\SERIALCOMM\\";
long ret0 = (::RegOpenKeyEx(HKEY_LOCAL_MACHINE, data_Set, 0, KEY_READ, &hKey));
if(ret0 != ERROR_SUCCESS)
{
return -1;
}
int i = 0;
CHAR Name[25];
UCHAR szPortName[80];
LONG Status;
DWORD dwIndex = 0;
DWORD dwName;
DWORD dwSizeofPortName;
DWORD Type;
dwName = sizeof(Name);
dwSizeofPortName = sizeof(szPortName);
do
{
Status = RegEnumValue(hKey, dwIndex++, Name, &dwName, NULL, &Type,
szPortName, &dwSizeofPortName);
if((Status == ERROR_SUCCESS)||(Status == ERROR_MORE_DATA))
{
if (pListStr != NULL)
{
memcpy(*(pListStr + i), (LPCSTR)szPortName, 80);
}
i++;
}
} while((Status == ERROR_SUCCESS)||(Status == ERROR_MORE_DATA));
RegCloseKey(hKey);
return i;
}
//---------------------------------------------------------------------------
//将串口名加入combobox cbPort中
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char PortName[20][80];
int NumOfPort = GetSerialPortsReg(&*PortName);
cbPort->Items->Clear();
if ((NumOfPort)) {
for (int i = 0; i < NumOfPort; i++) {
cbPort->Items->Add(PortName[i]);
}
}
}
//---------------------------------------------------------------------------
cczlp
2007-04-28
打赏
举报
回复
在注册表中:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM
COM1是\Device\Serial0
COM2是\Device\Serial1
...
[详细完整版]云计算之我见.doc
1980年代美国SUN微系统公司提出了一个非常著名的
口号
:网络就是
计算机
。作为一 种理念,人们一直试图研究一种网络应用模式,即瘦客户端模式,并研制出了网络终端 -NC。但是由于各种原因,这种模式没有
取得
成功。...
计算机
比赛小组名称和
口号
,小组比赛
口号
霸气押韵
小组比赛
口号
霸气押韵一个小组,需要
口号
,各位,我们看看下面的小组比赛
口号
霸气押韵,欢迎阅读哦!小组比赛
口号
霸气押韵1、团结号:团结就是力量,奋斗才能成功。2、快乐无限组:课堂因展现而精彩,人生因理想而...
前瞻AI大师课第三场
人工智能大热的今天,AI 民主化不应该只是一句
口号
。CSDN 特发起「百万人学 AI」系列活动,百万人学AI由“前瞻大师课”、“前瞻峰会”及“万人大会”组成,系列活动通过线上直播形式,让开发者们一站式学习了解当下 ...
计算机
比赛小组名称和
口号
,小组名称
口号
大全(精选150个)
小组名称
口号
大全(精选150个)以下是小编帮大家整理的小组名称
口号
大全(精选150个),仅供参考,大家一起来看看吧。一:超越小组:奋发向上,享受成功!二:激情小组;让生活充满激情,让学习丰富多彩三:合作快车小组...
计算机
班级队名大全,班级队名和
口号
大全
班级文化是学生个体人格发展的土壤,也是学生人格发展的营养源泉。以下是学习啦小编为大家提供... 上进小组:拥有一颗上进的心,才能
取得
成功6. 活力队:有活力地成长!7. 组名:团结队
口号
:团结一心,勇往直前。8....
Windows SDK/API
1,221
社区成员
8,136
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章