PC上從註冊表獲取當前的所有串口號

爲了實現在MFC的combobox控件內讀取當前PC機註冊表的串口。

void InitCommCombo(HWND hDlg)

{
    HKEY hKey; 
    DWORD result;

    TCHAR valueName[255];
    TCHAR data[255];

    DWORD valueNameSize,dataSize;

    DWORD i;

    result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Hardware\\DeviceMap\\SerialComm"), NULL, KEY_READ, &hKey);//讀取註冊表串口信息

    if(ERROR_SUCCESS == result)
    {
        for(i=0;i<256 ;i++)
        {
            valueNameSize = dataSize = sizeof(valueName) / sizeof(TCHAR);
            result = RegEnumValue(hKey, i, valueName, &valueNameSize, NULL, NULL, (LPBYTE)data, &dataSize);

            if(ERROR_NO_MORE_ITEMS == result )
            {
                break;
            }
            else
            {

               //將獲取的數據存在數組裏,併發送數據到COMBO BOX控件內。
                pcPortNameBuff[i] = data;
                StringCchCat(pcCommName[i],COMM_NAME_LEN,data);
                SendDlgItemMessage(hDlg, IDC_COMBO1, CB_ADDSTRING, 0, (LPARAM)data);
            }
        }

    }
    else
    {
        MessageBox (NULL, TEXT("ERROR!"), TEXT("Error"), 0);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章