IAccessibilityDockingService::GetAvailableSize 方法 (shobjidl.h)

检索特定屏幕上可用于显示辅助功能窗口的尺寸。

语法

HRESULT GetAvailableSize(
  [in]  HMONITOR hMonitor,
  [out] UINT     *pcxFixed,
  [out] UINT     *pcyMax
);

参数

[in] hMonitor

类型: HMONITOR

要检索其可用停靠大小的监视器的句柄。 有关如何检索 HMONITOR 的信息,请参阅 MonitorFromWindow

[out] pcxFixed

类型: UINT*

当此方法成功返回时,此参数接收固定宽度(以物理像素为单位),可用于停靠在指定的监视器上。 停靠到此监视器的任何窗口都将调整为此宽度。

如果方法失败,此值将设置为 0。

如果此值为 NULL,则会发生访问冲突。

[out] pcyMax

类型: UINT*

当此方法成功返回时,此参数接收指定监视器上的停靠窗口可用的最大高度(以物理像素为单位)。

如果方法失败,此值将设置为 0。

如果此值为 NULL,则会发生访问冲突。

返回值

类型: HRESULT

返回标准返回值,包括以下内容:

返回代码 说明
S_OK
方法成功。
HRESULT_FROM_WIN32 (ERROR_INVALID_MONITOR_HANDLE)
hMonitor 指定的监视器不支持停靠。

注解

何时使用

停靠的辅助功能窗口在任何屏幕上可以使用的空间量上受到限制。 因此,在尝试停靠辅助功能窗口之前,请调用此函数以获取可用维度。 你无法停靠任何会导致 Windows 应用商店应用有权访问小于 768 垂直屏幕像素的窗口。

示例

此示例演示正在使用的此方法。


 IAccessibilityDockingService *pDockingService;
 
 HRESULT hr = CoCreateInstance(CLSID_AccessibilityDockingService, CLSCTX_INPROV_SERVER, nullptr, IID_PPV_ARGS(&pDockingService));
 if (SUCCEEDED(hr)) 
 {
     UINT uMaxHeight;
     UINT uFixedWidth;

     HMONITOR hMonitor = MonitorFromWindow(_hwndMyApplication, MONITOR_DEFAULTTONULL);
     if (hMonitor != nullptr)
     {
         hr = pDockingService->GetAvailableSize(hMonitor, &uMaxHeight, &uFixedWidth);
     }
 }

要求

要求
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 shobjidl.h

另请参阅

IAccessibilityDockingService