2012-08-04 88 views
13

我一直在环顾四周,但无法找到解决问题的方法,即使解决了一些类似于我的问题。隐藏C程序的控制台窗口

我想在我的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函数。

+0

这可以帮助你:[如何隐藏控制台窗口与WinAPI?](http://stackoverflow.com/questions/6096500/howto-hide-console-window-with-winapi) – 2012-08-04 21:43:24

+0

肯,我使用C不是C++,该线程解决了另一个问题,而不是这个。我已经尝试过了。 – Athropos 2012-08-04 21:53:51

+0

@ Steve314,你是对的。回头再阅读更深入一点,事实并非如此。删除我的评论 - 无法撤消近距离投票,但不希望引导他人错误的方式。感谢您的更正。 :-) y Orionis,我的歉意。 – 2012-08-04 22:00:27

回答

14

#define _WIN32_WINNT 0x0500 

(这是需要使用GetConsoleWindow - 看到documentation)必须

#include <windows.h> 

#define所使用的windows.h知道你是哪个版本的Windows之前定位(以及它必须提供哪些声明/哪些附加字段必须添加到可能与该链接器相关的结构/其他魔法错误);如果你在之后定义它那么你包含windows.h它就没用了。

+0

它的工作,谢谢! – Athropos 2012-08-04 21:49:34

相关问题