如何隐藏 C 程序的控制台窗口?

Posted

技术标签:

【中文标题】如何隐藏 C 程序的控制台窗口?【英文标题】:How to hide the console window of a C program? 【发布时间】:2012-08-02 11:14:52 【问题描述】:

我一直在环顾四周,但找不到解决问题的方法,即使有一些与我类似的本应已解决的问题。

我想在我的 C 程序运行时隐藏控制台窗口。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
#define _WIN32_WINNT 0x0500

int main()   
    HWND hWnd = GetConsoleWindow();
    ShowWindow( hWnd, SW_MINIMIZE );  //won't hide the window without SW_MINIMIZE
    ShowWindow( hWnd, SW_HIDE );

这是我尝试过的,但编译器给了我

初始化使指针从整数不进行强制转换

以及实际停止编译的致命错误:

对“GetConsoleWindow”的未定义引用

PS:我检查了 wincon.h 并且定义了 GetConsoleWindow() 函数。

【问题讨论】:

这可以帮助你:How to hide Console Window with WinAPI? Ken,我使用的是 C 而不是 C++,并且该线程解决了另一个问题,而不是这个问题。我已经试过了。 @Steve314,你是对的。回去更深入地阅读,事实并非如此。删除我的评论 - 无法撤消近距离投票,但不想以错误的方式指导他人。感谢您的指正。 :-) y Orionis,我很抱歉。 【参考方案1】:

你的

#define _WIN32_WINNT 0x0500

(这是使用GetConsoleWindow 所必需的 - 请参阅documentation)必须在之前

#include <windows.h>

windows.h 使用 #define 来了解您所针对的 Windows 版本(因此它必须提供哪些声明/它必须添加到结构中的哪些附加字段/可能与之相关的其他魔法链接器错误);如果你定义它之后你包括windows.h这将是无用的。

【讨论】:

以上是关于如何隐藏 C 程序的控制台窗口?的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏随我的应用程序打开的控制台窗口?

如何在 QxtApplication 中隐藏控制台窗口

如何在隐藏控制台的情况下运行 C# 控制台应用程序

Windows 隐藏控制台

当我使用 pytesseract 和 CREATE_NO_WINDOW 运行 tesseract 时如何隐藏控制台窗口

如何在python中隐藏控制台窗口?