使用下面的代码,控制台被隐藏但是它出现约1秒钟。
如何完全隐藏控制台?
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <iostream>
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR cmdLine, int cmdShow){
HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );
MessageBox(NULL, TEXT("Hello!"), TEXT("yuhuuu"), 0);
return 0;
}
答案 0 :(得分:1)
您的编译器设置有些奇怪。 (你没有指定你的编译器所以我假设MSVC)
示例中的WinMain入口点函数由GUI应用程序(链接器开关/SUBSYSTEM:WINDOWS)使用,除非您调用AllocConsole,否则这些应用程序不会获得控制台。
如果您链接/ SUBSYSTEM:CONSOLE,那么Windows将在您的代码执行之前为该进程创建一个控制台,但这些应用程序的正常入口点是普通的main函数。
您是否使用/ ENTRY开关强制进入?无论哪种方式,请确保/ SUBSYSTEM开关和入口点函数定义兼容并匹配您要创建的应用程序类型(GUI或控制台)