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 |