<Return[G]><Top>

GetStdHandle

Declare Function Api_GetStdHandle& Lib "kernel32" Alias "GetStdHandle" (ByVal nStdHandle&)

Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long

標準入力デバイス、標準出力デバイス、標準エラーデバイスのいずれかのハンドルを返す。

パラメータ
nStdHandle
ハンドルを取得するデバイスを指定します。次のいずれかの定数を指定する。 

    定数                                      

意味                                                                                    

    STD_INPUT_HANDLE

標準入力ハンドル。

    STD_OUTPUT_HANDLE

標準出力ハンドル。

    STD_ERROR_HANDLE

標準エラーハンドル。


戻り値
    関数が成功すると、指定したデバイスのハンドルが返る。
    関数が失敗すると、INVALID_HANDLE_VALUE フラグが返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    GetStdHandle 関数が返すハンドルは、コンソールからの読み取りまたはコンソールへの書き込みが必要なアプリケーションで利用できる。コ

    ンソールの作成時、標準入力ハンドルはコンソール入力バッファのハンドル、標準出力ハンドルと標準エラーハンドルはコンソールのアクティ

    ブなスクリーンバッファのハンドルに設定される。これらのハンドルは、ReadFile 関数と WriteFile 関数のほか、コンソール入力バッファまた

    はスクリーンバッファにアクセスするコンソール関数(ReadConsoleInput 関数、WriteConsole 関数、GetConsoleScreenBufferInfo 関数など)

    で利用できる。
    この関数が返すハンドルは、SetStdHandle 関数によって標準ハンドルがアクセス権の弱いハンドルに設定されていないかぎり、すべてが

    GENERIC_READ アクセス権と GENERIC_WRITE アクセス権を持つ。
    プロセスの標準ハンドルは、SetStdHandle 関数を使ってリダイレクトされることがある。その場合、GetStdHandle 関数はリダイレクト先のハ

    ンドルを返す。標準ハンドルがリダイレクトされている場合、CreateFile 関数に CONIN$ 値を渡してコンソール入力バッファのハンドルを取得

    できる。同様に、CONOUT$ 値を渡してコンソールのアクティブなスクリーンバッファのハンドルを取得できる。