mHandle = CreateFile(lpszPort,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,LpOverlappend,0);
lpszPort
LpOverlappend
怎么赋值?

解决方案 »

  1.   

    m_hCom = CreateFile("COM1",
                            GENERIC_READ | GENERIC_WRITE,
                            0,    /* comm devices must be opened w/exclusive -access *///串口必须是打开的
                            NULL, /* no security attrs *///没有安全属性FILE_ATTRIBUTE_NORMAL | 
                            OPEN_EXISTING, /* comm devices must use OPEN_EXISTING *///必须用OPEN_EXISTING
                            FILE_FLAG_OVERLAPPED,    /* overlapped I/O */
                            NULL  /* hTemplate must be NULL for comm devices */// 必须为NULL
                            );
      

  2.   

    看看这个吧
    HANDLE CreateFile(
      LPCTSTR lpFileName,                         // file name
      DWORD dwDesiredAccess,                      // access mode
      DWORD dwShareMode,                          // share mode
      LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD
      DWORD dwCreationDisposition,                // how to create
      DWORD dwFlagsAndAttributes,                 // file attributes
      HANDLE hTemplateFile                        // handle to template file
    );
      

  3.   

    lpszPort 可以直接写"COMx",对于大于9的COM口,就必须用"\\.\\COMxx",
    LpOverlapped 定义一个OVERLAPPED的结构的对象,然后把地址指针传递给参数就行了
      

  4.   

    LpOverlapped 定义一个OVERLAPPED的结构的对象,然后把地址指针传递给参数就行了?具体怎么做呢?
      

  5.   

    msdn中有一个TTY.C的例子,可以参照!
      

  6.   

    在MSDN里找CreateFile的说明来看一下
      

  7.   

    给个email,发个例程给你瞧瞧!!!
      

  8.   

    建议如果有界面的话,最好直接使用空间mscomm
      

  9.   

    : sxslyy(孤松傲雪) (  ) 
    你到是给我发啊!!!
      

  10.   


     
    这个值如果你不用到一个线程同时监控多个串口通讯的话,建议你不用考虑它就把LpOverlappend设成NULL!什么都是一样的,没问题!