WIN32控制台程序隐藏DOS窗口

思路:改变SUBSYTEM和entry。

如下:

#pragma comment(linker, "/subsystem:windows /entry:WinMainCRTStartup")

#pragma comment(linker, "/subsystem:windows /entry:mainCRTStartup")

#pragma comment(linker, "/subsystem:console /entry:mainCRTStartup" )

#pragma comment(linker, "/subsystem:console /entry:WinMainCRTStartup") 

四种改变窗口程序和入口点方法。

入口点对应的启动函数如表:

应用程序类型 入口点函数 嵌入的可执行文件的启动函数
ANSI的GUI程序 _tWinMain(WinMain) WinMainCRTStartup
Unicode的GUI程序 _tWinMain(wWinmain) wWinMainCRTStartup
ANSI的CUI程序 _tmain(Main) mainCRTStartup
Unicode的CUI程序 _tmain(Wmain) wmainCRTStartup

 

隐藏win32控制台程序代码如下:

#include <iostream>
#include <Windows.h>

#pragma comment(linker, "/subsystem:\"windows\" /entry:\"wmainCRTStartup\"" )
int wmain()
{
    std::cout << "Hello World!\n";
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_27011361/article/details/82982195