IAccessibilityDockingService::GetAvailableSize 方法

获取可用于停靠监视器上的辅助功能窗口的尺寸。

语法

HRESULT GetAvailableSize(
  [in]  HMONITOR hMonitor,
  [out] UINT     *puMaxHeight,
  [out] UINT     *puFixedWidth
);

参数

hMonitor [in]

指定将检索其可用停靠大小的监视器。

puMaxHeight [out]

成功后,将 设置为指定 hMonitor 上可用于停靠的最大高度(以像素为单位)。

失败时,将 设置为零。

puFixedWidth [out]

成功后,将 设置为指定 hMonitor 上可用于停靠的固定宽度(以像素为单位)。 停靠到此 hMonitor 的任何窗口都将调整为此宽度。

失败时,将 设置为零。

返回值

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

如果 puMaxHeightpuFixedWidth 为 null,则会发生访问冲突。

备注

辅助功能窗口只能停靠到至少具有 768 垂直屏幕像素的监视器。 此 API 不允许以高度停靠此类窗口,导致 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);
    }
}

另请参阅

IAccessibilityDockingService