IShellWindows::FindWindowSW メソッド (exdisp.h)

シェル ウィンドウ コレクション内のウィンドウを検索し、ウィンドウのハンドルと IDispatch インターフェイスを返します。

構文

HRESULT FindWindowSW(
  [in]          VARIANT   *pvarLoc,
  [in]          VARIANT   *pvarLocRoot,
  [in]          int       swClass,
  [out]         long      *phwnd,
                int       swfwOptions,
  [out, retval] IDispatch **ppdispOut
);

パラメーター

[in] pvarLoc

型: VARIANT*

VT_VARIANT 型の VARIANT |VT_BYREF。 pvarLoc の値を、検索するウィンドウを指定する絶対 PIDL (PIDLIST_ABSOLUTE) に設定します。 (解説を参照)。

[in] pvarLocRoot

型: VARIANT*

NULL または型VT_EMPTYである必要があります。

[in] swClass

型: int

検索に含めるウィンドウの種類を指定する 1 つ以上の ShellWindowTypeConstants フラグ。

[out] phwnd

種類: long*

指定した検索条件に一致するウィンドウのハンドル。そのようなウィンドウが見つからない場合は NULL

swfwOptions

型: int

検索オプションを指定する 1 つ以上 の ShellWindowFindWindowOptions フラグ。

[out, retval] ppdispOut

種類: IDispatch**

ウィンドウの IDispatch インターフェイスへの参照。そのようなウィンドウが見つからない場合は NULL

戻り値

種類: HRESULT

次のいずれかの値、または標準の結果コード。

リターン コード 説明
S_OK
指定した検索条件に一致するウィンドウが見つかりました。
S_FALSE
指定した検索条件に一致するウィンドウが見つかりませんでした。
E_NOINTERFACE
ウィンドウが見つかりましたが、ウィンドウの IDispatch インターフェイスへの参照を取得できませんでした。 SWFO_NEEDDISPATCH フラグが設定されている場合にのみ発生します。
E_PENDING
ウィンドウが見つかりましたが、ウィンドウの開きが保留中です。 SWFO_INCLUDEPENDING フラグが設定されている場合にのみ発生します。

解説

SWFO_COOKIEPASSED フラグが設定されている場合、pvarLoc は PIDL ではなく Cookie として解釈されます。

要件

   
対象プラットフォーム Windows
ヘッダー exdisp.h
[DLL] Shdocvw.dll (バージョン 5.00.2014.0216 以降)