|
发表于 2010-3-19 01:43:50
|
显示全部楼层
没用处啊
主要代码,就是读注册表
HKEY hKey;
char szCOMPortAddress[BUFSIZE];
DWORD dwBufLen=BUFSIZE;
LONG lRet;
char keyString1[128];
int i;
BOOLEAN noPort;
noPort=false;
lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
"HARDWARE\\DEVICEMAP\\SERIALCOMM",
0, KEY_QUERY_VALUE, &hKey );
if( lRet != ERROR_SUCCESS )
MessageBox("Open Reg failed", "Warning", MB_OK);
for(i=0;i<20;i++) {
wsprintf(keyString1, "\\Device\\ProlificSerial%d",i);
lRet = RegQueryValueEx( hKey, keyString1, NULL, NULL, (LPBYTE) szCOMPortAddress, &dwBufLen);
if(lRet==ERROR_SUCCESS) {
noPort=false;
break;
}
if( (lRet != ERROR_SUCCESS) || (dwBufLen > BUFSIZE)) {
noPort=true;
}
}
RegCloseKey( hKey );
CEdit *btn = (CEdit *)GetDlgItem(IDC_EDIT_COMPORT);
if(!noPort)
btn->SetWindowTextA(szCOMPortAddress);
else
btn->SetWindowTextA("No PL-2303 cable"); |
|