1,在程序开始时调用FreeConsole();(windows.h)
2,在VC开发环境的控制台还是会有的,因为那是VC调的,不过你的程序不会输出到那个控制台罢了
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/freeconsole.asp)在工程属性里面分别设置linker->system->SubSystem为Windows (/SUBSYSTEM:WINDOWS),linker->advanced->Entry Point为mainCRTStartup
3,CreateProcess时设置隐藏,可设置STARTUPINFO的dwFlags,代码如下:
STARTUPINFO si;
ZeroMemory(&si,sizeof(si));
si.cb = sizeof(si);
si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
si.lpReserved = NULL;
si.cbReserved2 = 0;
si.lpReserved2 = NULL;
char cmdLine[] = "c:\\test.exe ";
PROCESS_INFORMATION ProcessInformation;
ZeroMemory(&ProcessInformation,sizeof(ProcessInformation));
int ret=CreateProcess(NULL,cmdLine,NULL,NULL,1,CREATE_NEW_CONSOLE,NULL,NULL,&si,&ProcessInformation); 感谢:http://blog.youkuaiyun.com/vbskj/article/details/5049941
本文详细介绍了如何在程序开始时使用FreeConsole()函数清除控制台,并通过设置STARTF_USESTDHANDLES和STARTF_USESHOWWINDOW来创建隐藏的进程。提供了一个具体的代码示例,演示了在Visual C++开发环境中隐藏控制台并执行隐藏进程的方法。
1864

被折叠的 条评论
为什么被折叠?



