本帖最后由 Dingnifei123 于 2009-12-03 10:48:28 编辑

解决方案 »

  1.   

    CreateFile缺陷这个返回值不是INVALID_HANDLE_VALUE?
      

  2.   

    大致找到原因了,可能由于我这个端口是虚拟的,USB转的,可能是usb to serialport驱动有问题。
      

  3.   

    也很奇怪~为什么我用其他语言,比如Delphi的spcomm控件也不行,(用VC+API也不行~)但是换成另外一种语言,比如LabVIEW,却是可以的呢,难道他们对底层支持不同?
      

  4.   

    在端口属性里把COM17修改成小于10的端口试试看,估计是端口没有打开
    CreateFile在打开串口端口时,小于10的时候可以直接使用"COMx"文件名,
    大于10的端口需要使用"\\\\.\\COM%x"做文件名
      

  5.   


      CString lpszPortName = _T("");
      if(PortNum < 10)
       lpszPortName.Format( _T("COM%d"), PortNum );
      else
       lpszPortName.Format( _T("\\\\.\\COM%d"), PortNum);