我可以在显示控制台窗口的Microsoft-Visual-C ++中禁用?
答案 0 :(得分:13)
在您的控制台应用程序中,转到
Properties > Linker > System
将SubSystem
更改为Windows
并在您的代码中 取代
int _tmain(int argc, _TCHAR* argv[])
带
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
并添加
#include <windows.h>
这应避免在控制台应用程序中显示控制台窗口。
答案 1 :(得分:5)
你可以在启动时隐藏它。我不知道这是否会导致闪烁:
HWND hWnd = GetConsoleWindow();
ShowWindow( hWnd, SW_HIDE );
答案 2 :(得分:0)
您的问题很模糊,所以我将尝试回答我是如何解释的......如果您不想要控制台窗口,请尝试使用其他子系统。具体来说,您可能需要Windows或Native子系统而不是Console子系统。
答案 3 :(得分:0)
您可以通过操纵预编译的EXE子系统来禁用控制台-这样,您在最终产品上工作时无需对代码进行任何更改-负面方面是,每次重新编译项目时都需要执行此操作。您可以通过十六进制编辑器完成操作,也可以使用免费的CFF Explorer。
您可以进行二进制比较并在原始PE标头中找到确切的位置,然后可以在VS中进行一些自动化的后编译
答案 4 :(得分:0)
对于 CMake 用户。
add_executable(${exeName} WIN32)
您需要使用 WinMain
而不是 main
作为入口点符号。