<Return[E]><Top>

EnumDesktops

Declare Function Api_EnumDesktops& Lib "user32" Alias "EnumDesktopsA" (ByVal hwinsta&, ByVal lpEnumFunc&, ByVal lParam&)

Declare Function EnumDesktops Lib "user32" Alias "EnumDesktopsA" (ByVal hwinsta As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long

呼び出し側プロセスに割り当てられているウィンドウステーション内のすべてのデスクトップを列挙する。各デスクトップ名を、アプリケーション定義のコールバック関数へ順に渡すことにより、すべてのデスクトップを列挙する。

パラメータ
hwinsta
    [入力]列挙するデスクトップを保持するウィンドウステーションのハンドルを指定する。CreateWindowStation 関数、

    GetProcessWindowStation 関数、OpenWindowStation 関数のいずれかが返したウィンドウステーションのハンドルを指定する。
lpEnumFunc
    [入力]アプリケーション定義の EnumDesktopProc コールバック関数へのポインタを指定する。
lParam
    [入力]コールバック関数へ渡す、アプリケーション定義の値を指定する。

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

解説
    呼び出し側プロセスには、ウィンドウステーションへの WINSTA_ENUMDESKTOPS アクセス権が必要である。EnumDesktops 関数は、

    呼び出し側プロセスに DESKTOP_ENUMERATE アクセス権があるデスクトップだけを列挙する。
    また、この関数は、最後のデスクトップを列挙するか、lpEnumFunc パラメータが指すコールバック関数が FALSE を返すまで、このコール

    バック関数を繰り返し呼び出す。