VS2010隐藏控制台程序的黑框

时间:2021-07-19 20:46:52

原文地址:http://m.jb51.net/article/35431.htm

觉得原文有点长,所以自己弄简洁一点,再加上自己的实践,截图,方便以后查看~


1.如果console程序已经写好了,不能改了,也可以。写一个API程序,不要画窗口,然后用CreateProcess调用写好的console程序,把属性设成SW_HIDE即可。

2:不能用控制台来写(CONSLOE),要用WINMAIN做入口就可以了,不画窗口,别人就都看不见了. 你只用想想办法把你的进程在任务栏里面隐藏住就可以.
3:如果是console程序,用API函数GetStdHandle()获得控制台程序的窗口句柄,然后在隐藏窗口


4://这一句隐藏控制台(推荐使用)
第一步  #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )

后者完整一点的:

#ifdef _ConsoleDisappear  
#pragma comment( linker, "/subsystem:/"windows/" /entry:/"wmainCRTStartup/"")   
#else  
#pragma comment( linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"")  
#endif 

第二步(笔者实践截图) 再修改一下Project---->xiazai Properties--->Linker--->Advanced--->Entery Point修改为"mainCRTStartup"。

VS2010隐藏控制台程序的黑框

第三步 (笔者截图)Project---->xiazai Properties--->Linker--->System-->Subsystem改成Windows(/SUBSYSTEM:WINDOWS)如下图所示:

VS2010隐藏控制台程序的黑框

切记切记~
你要写控制台程序就用这个,推荐~