<Return[A]><Top>

AllocConsole

Declare Function Api_AllocConsole& Lib "kernel32" Alias "AllocConsole" ()

Declare Function AllocConsole Lib "kernel32" () As Long

呼び出し側プロセスに新しいコンソールを割り当てる。

パラメータ
    パラメータはなし。

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    コンソールは各プロセスに 1 つしか割り当てることができない。すでにコンソールを持っているプロセスが AllocConsole 関数を呼び出すと失敗

    する。FreeConsole 関数を使って現在のコンソールからプロセスを切り離すと、AllocConsole 関数を呼び出して新しいコンソールを作成するこ

    とができる。
    AllocConsole 関数は、新しいコンソールの標準入力ハンドル、標準出力ハンドル、標準エラーハンドルを設定することもできる。標準入力

    ハンドルはコンソールの入力バッファのハンドル、標準出力ハンドルと標準エラーハンドルはコンソールの画面バッファのハンドルである。ハン

    ドルを取得するときは、GetStdHandle 関数を使う。
    この関数は主に、グラフィックスアプリケーションでコンソールウィンドウを作成するときに使う。グラフィックスアプリケーションは、コンソールなし

    で初期化する。コンソールアプリケーションは、切り離されたプロセスとして作成する(CreateProcess 関数を呼び出すときに

    DETACHED_PROCESS フラグをセットする)場合を除いて、コンソール付きで初期化するのが普通である。