解决方案 »
- 动态生成的CEdit的背景的改变问题
- 表空间是否存在
- ***********《设计模式》作者之一John Vlissides逝世,表示悲哀的进来顶一下,并说说你的心里话************
- 在MDI窗口下,如何使非模式的CDialog只在MDI的客户区活动?而且最大化只占满客户区?
- 界面
- 救命啊!就没人会么!泱泱大国!无人会此问题 !时时传送图片并显示!
- 如何转换金额从数字到大写。谁能给个思路,有源码更加好
- 三级计算机 求救!
- 请问何处可以下载到《深入浅出MFC》所附带的所有完整源码?谢谢
- 如何用VC开发NT网下的网络版软件?
- USB转串口线如何编程?
- 在我看来,行主序矩阵运算比列主序更有优势
SHORT RWCenter::GetAllComm(){
HKEY hKey;
LONG ret;
SHORT retVal = 0;
OSVERSIONINFO osvi;
BOOL bOsVersionInfoEx; TCHAR keyinfo[100],comm_name[200],ValueName[200];
int i;
DWORD sType,Reserved,cbData,cbValueName; ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); memset(keyinfo,0,100*sizeof(TCHAR));
_tcscpy_s(keyinfo,_T("HARDWARE\\DEVICEMAP\\SERIALCOMM")); i=0; sType=REG_SZ;Reserved=0;
bOsVersionInfoEx =GetVersionEx(&osvi); ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,keyinfo,0,KEY_ALL_ACCESS,&hKey); if (ret==ERROR_SUCCESS)
{
if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
do
{
cbData=200;cbValueName=200;
memset(comm_name,0,200);
memset(ValueName,0,200); ret=RegEnumValue(hKey,i,ValueName,&cbValueName,NULL,&sType,(LPBYTE)comm_name,&cbData);
if (ret==ERROR_SUCCESS)
{
//m_list.Add(comm_name);
int temp;
temp = _tstoi(&comm_name[3]);
retVal |= 1 << (temp -1);
i++;
}
}while (ret==ERROR_SUCCESS);
}
} //CString strPortName = GetSetComName();
//m_ctrlPort.SetWindowText(strPortName);
RegCloseKey(hKey);
return retVal;
}