是要和硬件打交道的吧,谢谢 

解决方案 »

  1.   

    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=195079
      

  2.   

    我已经试过了,不过有些问题。请帮忙,谢谢,挺急的。
    /* -------- 从注册表里搜寻安装的串口 -----------------------
    Win2k/XP和Win98/Me的注册表值不同,所以用枚举
    把串口名字写入一个ComboBox控件里
    */
    void FindCommPort(CComboBox *pComboBox)
    {
    HKEY hKey; #ifdef _DEBUG
    ASSERT( pComboBox != NULL );
    pComboBox->AssertValid();
    #endif if( ::RegOpenKeyEx( HKEY_LOCAL_MACHINE,
    "Hardware\\DeviceMap\\SerialComm",
    NULL,
    KEY_READ,
    &hKey) == ERROR_SUCCESS) // 打开串口注册表
    {
    int i=0;
    char portName[256],commName[256];
    DWORD dwLong,dwSize; while(1)
    {
    dwLong = dwSize = sizeof(portName);
    if( ::RegEnumValue( hKey,
    i,
    portName,
    &dwLong,
    NULL,
    NULL,
    (PUCHAR)commName,
    &dwSize ) == ERROR_NO_MORE_ITEMS ) // 枚举串口
    break; pComboBox->AddString( commName ); // commName就是串口名字
    i++;
    } if( pComboBox->GetCount() == 0 )
    {
    ::AfxMessageBox( "在HKEY_LOCAL_MACHINE:Hardware\\DeviceMap\\SerialComm里找不到串口!!!" );
    }
    RegCloseKey(hKey);
    }
    }在调用此函数的时候,我是这么写的,可是总是不通过,如下:CComboBox*  pComboBox=(CComboBox*)GetDlgItem(COMBO_INTEL_COMID);  
    FindCommPort(pComboBox);以下为出错信息:YJTX_Para_Set_Dlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CYJTX_Para_Set_Dlg::FindCommPort(class CComboBox *)" (?FindCommPort@CYJTX_Para_Set_Dlg@@QAEXPAVCComboBox@@@Z)
    Debug/Terminal.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.Terminal.exe - 2 error(s), 4 warning(s)
      

  3.   

    clean , rebuild all?
    //我运行这段程序正确
      

  4.   

    void CEmulateComPortDlg::EmultateCom()
    {
    CString strCom;
    int nCom = 0;
    int count = 0;
    HANDLE  hCom;
    do {
    nCom++;

    strCom.Format("COM%d", nCom);

    hCom = CreateFile(strCom, 0, 0, 0, 
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

    if(INVALID_HANDLE_VALUE == hCom )
    break;
    m_cbCom.AddString(strCom);

    CloseHandle(hCom);
    } while(1);
    }
      

  5.   

    代码没有问题,FindCommPort定义的问题