原文地址: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"。
第三步 (笔者截图)Project---->xiazai Properties--->Linker--->System-->Subsystem改成Windows(/SUBSYSTEM:WINDOWS)如下图所示:
切记切记~
你要写控制台程序就用这个,推荐~