17

私は周りを見回してきましたが、私の問題に似た解決済みと思われる問題があっても、問題の解決策を見つけることができませんでした。

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()関数が定義されています。

4

1 に答える 1

17

君の

#define _WIN32_WINNT 0x0500

(使用する必要がありますGetConsoleWindow-ドキュメントを参照してください) の前にある必要があります

#include <windows.h>

これ#defineは、ターゲットにしている Windows のバージョンを知るために使用されwindows.hます (したがって、どの宣言を提供する必要があるか、どの追加フィールドを構造体に追加する必要があるか、そのリンカ エラーに関連する可能性のあるその他の魔法); インクルードに定義するとwindows.h、役に立たなくなります。

于 2012-08-04T21:43:48.310 に答える