AllocConsole 関数

呼び出し元プロセス用の新しいコンソールを割り当てます。

構文

BOOL WINAPI AllocConsole(void);

パラメーター

この関数にはパラメーターはありません。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

プロセスは 1 つのコンソールのみに関連付けることができるので、呼び出し元プロセスにコンソールが既にある場合、AllocConsole 関数は失敗します。 プロセスでは、FreeConsole 関数を使用して、現在のコンソールから自身をデタッチできます。その後 AllocConsole を呼び出して新しいコンソールを作成するか、AttachConsole を呼び出して別のコンソールにアタッチできます。

呼び出し元プロセスによって子プロセスが作成される場合、子には新しいコンソールが継承されます。

AllocConsole は、新しいコンソールの標準入力、標準出力、および標準エラー ハンドルを初期化します。 標準入力ハンドルはコンソールの入力バッファーのハンドル、標準出力ハンドルと標準エラー ハンドルはコンソールの画面バッファーのハンドルです。 これらのハンドルを取得するには、GetStdHandle 関数を使用します。

この関数は、主にグラフィカル ユーザー インターフェイス (GUI) アプリケーションによって、コンソール ウィンドウを作成するために使用されます。 GUI アプリケーションは、コンソールなしで初期化されます。 コンソール アプリケーションは、デタッチ プロセスとして作成される (CreateProcess 関数を DETACHED_PROCESS フラグ付きで呼び出す) 場合を除いて、コンソール付きで初期化されます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー ConsoleApi.h (WinCon.h 経由、Windows.h をインクルード)
ライブラリ Kernel32.lib
[DLL] Kernel32.dll

関連項目

コンソール関数

コンソール

AttachConsole

CreateProcess

FreeConsole

GetStdHandle