在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创建控制台。从资源管理器启动时,另一个进程不会启动任何命令提示符。