相关疑难解决方法(0)

CreateProcess不会在Windows 7下创建其他控制台窗口?

我正在尝试使用CreateProcess(...)运行一个进程,并在一个单独的控制台窗口中独立运行它.

我可以使用系统("...")函数实现这一点,但我更喜欢CreateProcess,因为它让我可以指定环境和工作目录,获取进程的句柄,以及在需要时管道stdin/out至.

我在互联网上找到的只是反问题,即人们有额外的控制台窗口,想要摆脱它们!在早期版本的Windows中打开并显示新的控制台窗口似乎是正常的行为?

现在,即使我运行"cmd.exe/c ...",我也无法获得额外的窗口.

我尝试使用STARTF_USESHOWWINDOW标志没有运气.

有谁有这个问题?

PS:例如,GUI窗口显示.notepad.exe将正常显示.

这是我的代码(实质上)

PROCESS_INFORMATION processInfo;
STARTUPINFOA startupInfo;
ZeroMemory(&startupInfo,sizeof(startupInfo));
startupInfo.dwFlags |= CREATE_NEW_CONSOLE;
startupInfo.dwFlags |= DETACHED_PROCESS;
ok&=CreateProcessA( NULL,
    const_cast<char*>(comand.c_str()), // safe for CreateProcessA
    NULL, NULL, TRUE, NULL, NULL, NULL,
    &startupInfo, &processInfo);
Run Code Online (Sandbox Code Playgroud)

我正在尝试运行C:/Windows/system32/cmd.exe/c help程序运行,我可以读取管道的输出.仍然没有窗口.

winapi createprocess windows-console

3
推荐指数
1
解决办法
7499
查看次数

标签 统计

createprocess ×1

winapi ×1

windows-console ×1