ytrfegd 2019-08-07 15:42
浏览 292

Createprocess db2cmd时无法获得主进程句柄导致WaitForSingleObject立即返回

创建进程时下列代码的WaitForSingleObject总是立即返回,不会等待db2cmd窗口关闭后返回。
而使用cmd时则不会有这种问题,猜测是db2cmd额外创建了线程而主线程立即关闭了,不知道有未有同道遇到过一样的问题。
或者有无其他可以在创建另外一个线程时在该线程关闭之前阻塞主线程的方法。

if (!CreateProcess(NULL,   // No module name (use command line)
        "db2cmd",        // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        FALSE,          // Set handle inheritance to FALSE
        0,              // No creation flags
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory 
        &si,            // Pointer to STARTUPINFO structure
        &pi)           // Pointer to PROCESS_INFORMATION structure
        )
    {
        AfxMessageBox("CreateProcess failed (%d).\n", GetLastError());
        return FALSE;
    }

    // Wait until child process exits.
    WaitForSingleObject(pi.hProcess, INFINITE);
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 蓝牙耳机怎么查看日志
    • ¥15 Fluent齿轮搅油
    • ¥15 八爪鱼爬数据为什么自己停了
    • ¥15 交替优化波束形成和ris反射角使保密速率最大化
    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏