<Return[G]><Top>

GetProcessWindowStation

Declare Function Api_GetProcessWindowStation& Lib "user32" Alias "GetProcessWindowStation" ()

Declare Function GetProcessWindowStation Lib "user32" Alias "GetProcessWindowStation" () As Long

呼び出し側プロセスに関連付けられているウィンドウステーションのハンドルを取得する。

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

戻り値
    関数が成功すると、呼び出し側プロセスに関連付けられているウィンドウステーションのハンドルが返る。
    関数が失敗すると、NULL が返る。呼び出し側プロセスが Windows NT/2000 用に作成されたアプリケーションではない場合、このような

    失敗が発生することがある。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    プロセスの作成時に、システムは 1 つのウィンドウステーションをそのプロセスに関連付ける。プロセスで SetProcessWindowStation 関数を

    使うと、自らのウィンドウステーションを変更できる。
    呼び出し側プロセスではこの関数が返したハンドルを、GetUserObjectInformation 関数、GetUserObjectSecurity 関数、

    SetUserObjectInformation 関数、SetUserObjectSecurity 関数を呼び出す際に利用できる。
    Windows NT 3.51:サービスがデスクトップとの相互作用を行う USER 関数または GDI 関数を呼び出すまでは、サービスアプリケーショ

    ンはウィンドウステーションに関連付けられていない。サービスにウィンドウステーションが関連付けられていない状態でサービスが

    GetProcessWindowStation 関数を呼び出すと、NULL が返る。サービスがデスクトップとの相互作用を行った後でこの関数を呼び出す

    と、有効なウィンドウステーションのハンドルが返る。
    Windows NT 4.0:サービスアプリケーションを作成すると、1 つのウィンドウステーションとデスクトップが関連付けられるので、サービスを

    ウィンドウステーションやデスクトップへ関連付けるために USER 関数や GDI 関数を呼び出す必要はない。