另:程序为多线程的,
    其中有一个线程为读写串口的通信线程,里面还调用了一些dll文件中的函数。
    若该程序不启动其中那个读写串口的线程,则不出现如标题所述的情况。程序退出时可正常结束该进程。

解决方案 »

  1.   

    杀不死多半是因为进程进入了内核状态没有返回!所以你要检查调用DeviceIOControl的地方!是否参数传错了?
    如果你的程序没有调用DeviceIOControl,那就没有办法检查了。
      

  2.   

    int ExitThread()
    {
    if (TerminateThread(m_hThread, 4))
    {
    DWORD dwExitCode =0;
    while(1)
    {
    GetExitCodeThread(m_hThread, &dwExitCode);
    if (dwExitCode != STILL_ACTIVE)
    break;
    }
    CloseHandle(m_hThread);     
    }

    return 0;
    }
      

  3.   

    可能原因:没有关闭串口,而且数据很多
    把程序发到[email protected]