IShellWindows::FindWindowSW 方法 (exdisp.h)
在 Shell 窗口集合中查找一个窗口,并返回该窗口的句柄和 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) 。 (请参阅 remarks.)
[in] pvarLocRoot
类型: VARIANT*
必须为 NULL 或 VT_EMPTY 类型。
[in] swClass
类型: int
一个或多个 ShellWindowTypeConstants 标志,用于指定要包含在搜索中的窗口类型。
[out] phwnd
类型: long*
与指定搜索条件匹配的窗口的句柄;如果未找到此类窗口,则为 NULL 。
swfwOptions
类型: int
一个或多个指定搜索选项 的 ShellWindowFindWindowOptions 标志。
[out, retval] ppdispOut
类型: IDispatch**
对窗口的 IDispatch 接口的引用;如果未找到此类窗口,则为 NULL 。
返回值
类型: HRESULT
以下值之一或标准结果代码。
返回代码 | 说明 |
---|---|
|
找到与指定搜索条件匹配的窗口。 |
|
找不到与指定搜索条件匹配的窗口。 |
|
找到窗口,但无法获取对窗口 IDispatch 接口的引用。 仅当设置了 SWFO_NEEDDISPATCH 标志时发生。 |
|
已找到一个窗口,但该窗口正在等待打开。 仅当设置了 SWFO_INCLUDEPENDING 标志时发生。 |
备注
如果设置了 SWFO_COOKIEPASSED 标志, pvarLoc 将解释为 Cookie 而不是 PIDL。
要求
目标平台 | Windows |
标头 | exdisp.h |
DLL | Shdocvw.dll (版本 5.00.2014.0216 或更高版本) |