DwmRegisterThumbnail 函数 (dwmapi.h)

创建桌面窗口管理器 (DWM) 目标窗口和源窗口之间的缩略图关系。

语法

HRESULT DwmRegisterThumbnail(
  [in]  HWND        hwndDestination,
  [in]  HWND        hwndSource,
  [out] PHTHUMBNAIL phThumbnailId
);

参数

[in] hwndDestination

将使用 DWM 缩略图的窗口的句柄。 将目标窗口句柄设置为顶级窗口类型以外的任何内容将导致返回值E_INVALIDARG。

[in] hwndSource

要用作缩略图源的窗口的句柄。 将源窗口句柄设置为顶级窗口类型以外的任何内容将导致返回值E_INVALIDARG。

[out] phThumbnailId

指向句柄的指针,当此函数成功返回时,该句柄表示 DWM 缩略图的注册。

返回值

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

注册 DWM 缩略图关系不会修改桌面组合;有关缩略图定位的信息,请参阅 DwmUpdateThumbnailProperties 函数的文档。

由 hwndDestination 指定的窗口必须是桌面窗口本身或由调用 DwmRegisterThumbnail 的进程拥有。 这是防止应用程序影响其他应用程序内容所必需的。

此函数获取的缩略图注册句柄并非全局唯一,但对进程是唯一的。 调用 DwmUnregisterThumbnail 函数以取消注册缩略图。 必须在注册关系的过程中完成此操作。

示例

以下示例演示如何注册桌面缩略图。


HRESULT UpdateDesktop(HWND hwnd)
{
	HRESULT hr = S_OK;

	// Register the thumbnail
	HTHUMBNAIL thumbnail = NULL;

	hr = DwmRegisterThumbnail(hwnd, FindWindow(_T("Progman"), NULL), &thumbnail);
	if (SUCCEEDED(hr))
	{
		// Display the thumbnail using DwmUpdateThumbnailProperties
	}
	return hr;	
}

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 dwmapi.h
Library Dwmapi.lib
DLL Dwmapi.dll

另请参阅

DWM 缩略图概述

桌面窗口管理器概述

DwmQueryThumbnailSourceSize

DwmUnregisterThumbnail

DwmUpdateThumbnailProperties