请问怎么检测串口是否存在?
一般计算机提供的串口有可能被占用了,怎么知道呢?
用以太网虚拟的串口又怎么检测呢?
谢谢
一般计算机提供的串口有可能被占用了,怎么知道呢?
用以太网虚拟的串口又怎么检测呢?
谢谢
解决方案 »
- 在桌面上, 做一个网站的链接. 如何做?
- 定时器问题
- 退出按钮 和 OnDestory()问题
- 父对话框关闭子对话框控件依然显示怎么办
- SendMessage(hwnd, EM_LIMITTEXT, 32, OL);中EM_LIMITTEXT消息问题,解决给分,绝不赖账。
- 普通权限下取硬盘序列号
- [求助]删除xml节点的问题
- 轻量、稳定、高效的IOCP模型框架,支持速度统计与限速、自动拆包封包,可直接用于生产环境。
- 为什么程序员的薪水上不去?因为?。。。那位大哥能发表一下高见?
- 线程之间怎么进行通信呀,不会是通过窗体的公共变量吧。线程的ID有什么用呢?
- msdn sdk中的一段话,不会翻译.
- 在线求助,关于CRC的几个问题!!!
HKEY hKEY;
long hResult=::RegOpenKeyEx(HKEY_LOCAL_MACHINE,"HARDWARE\\DEVICEMAP\\SERIALCOMM",0,KEY_READ,&hKEY);
if(hResult!=ERROR_SUCCESS)//如果无法打开hKEY,则中止程序的执行
{
ShowMessage("错误:无法打开有关注册表项");
return FALSE;
}
char owner_Get[20],str[30];
DWORD type_1=REG_SZ;
DWORD cbData_1=20;
DWORD aa=30,num=0,a1,a2,a3,a4,a5,a6,a7;
hResult=::RegQueryInfoKey(hKEY,str,&a7,NULL,&a3,&a1,&a2,&num,&a4,&a5,&a6,NULL);
if(hResult!=ERROR_SUCCESS)//如果无法打开hKEY,则中止程序的执行
{
ShowMessage("错误:无法打开有关注册表项");
return FALSE;
}
// hResult=RegQueryValueEx(hKEY,"\\Device\\Serial0",NULL,&type_1,(BYTE*)str,&aa);
for(DWORD i=0;i<num;i++)
{
aa=30;cbData_1=20;
hResult=::RegEnumValue(hKEY,i,str,&aa,NULL,&type_1,(BYTE*)owner_Get,&cbData_1);
if(hResult==ERROR_SUCCESS)//如果无法打开hKEY,则中止程序的执行
{
m_com.AddString(owner_Get);
}
}
RegCloseKey(hKEY); 然后对找到的每个串口OpenFile来检查,如果被占用,返回FALSE。