+ -
当前位置:首页 → 问答吧 → VC的CreateProcess创建子进程并创建管道后,子进程的界面SHOW不出来

VC的CreateProcess创建子进程并创建管道后,子进程的界面SHOW不出来

时间:2011-12-24

来源:互联网

其中代码:
C/C++ code
         STARTUPINFO si;
    memset(&si,0,sizeof(si));
    //GetStartupInfo(&si);
    si.cb = sizeof(si);
    si.wShowWindow = SW_SHOW;
    si.hStdInput = hc2sRead;
    si.hStdOutput = hc2sWrite;
    si.dwFlags |= STARTF_USESHOWWINDOW;
    si.dwFlags |= STARTF_USESTDHANDLES;

这里如果去掉si.dwFlags |= STARTF_USESTDHANDLES;就能让子进程的界面SHOW出来。
C/C++ code
CreateProcess(_T("test.exe"), LPWSTR(strCmd.c_str()), NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)
这里把TRUE改为FALSE,也能成功。感觉就是子进程建立管道后,让他的标准输入输出变为管道,就不能显示界面了,界面用QT和MFC都试过,怎么回事?

作者: adamwyb   发布时间: 2011-12-24

光看这里看不出问题...

作者: VisualEleven   发布时间: 2011-12-24