在C+;中启动进程时隐藏命令提示符+; 我必须从C++代码开始一个过程。我正在使用CreateProcess()函数,并在startupinfo结构中设置了以下标志。但仍然会显示命令提示符,我必须手动关闭该提示符才能继续。请告诉我如何在进程启动期间隐藏此命令提示符 si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE;

在C+;中启动进程时隐藏命令提示符+; 我必须从C++代码开始一个过程。我正在使用CreateProcess()函数,并在startupinfo结构中设置了以下标志。但仍然会显示命令提示符,我必须手动关闭该提示符才能继续。请告诉我如何在进程启动期间隐藏此命令提示符 si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE;,c++,winapi,C++,Winapi,创建进程调用如下所示: CreateProcess( NULL, // No module name (use command line) exe, // Command line NULL, // Process handle not inheritable NULL, // Thread handle not inheritable FALSE,

创建进程调用如下所示:

CreateProcess( NULL,   // No module name (use command line)
        exe,            // Command line
        NULL,           // Process handle not inheritable
        NULL,           // Thread handle not inheritable
        FALSE,          // Set handle inheritance to FALSE
        CREATE_NEW_CONSOLE,              // No creation flags
        NULL,           // Use parent's environment block
        NULL,           // Use parent's starting directory 
        &si,            // Pointer to STARTUPINFO structure
        &pi );
exe是包含要启动的进程名称的字符串

请告诉我如何在进程启动期间隐藏此命令提示符。 我尝试了描述的方法,但不起作用。我有一个Windows7系统

谢谢,
Rakesh.

您正在通过
创建新的控制台
,您不需要新的控制台窗口。答案似乎是显而易见的。但是,如果另一个进程本身创建了一个控制台,那么您无法阻止它。如果通过资源管理器启动该过程会发生什么情况?

正如MSalters所说,
CREATE\u NEW\u控制台
不是您想要的。但是您可能还希望将
CREATE\u NO\u窗口
传递给
CreateProcess
函数。请参阅关于可以传递给
CreateProcess
作为标志的内容的

你是另一个节目的作者吗?如果是,入口点是
main()
还是
WinMain()
?不,我不是另一个程序的作者,所以我不知道使用了哪一个。我更改为创建“否”窗口,但仍然没有解决我的问题。我遗漏了什么吗?创建没有窗口就足够了。听起来好像另一个程序正在使用AllocConsole创建控制台。从资源管理器启动时,另一个进程不会启动任何命令提示符。