将使用DWM缩略图的窗口的句柄。目标窗口句柄为非顶级窗口类型,将导致返回值E_INVALIDARG。
hwndSource
要用作缩略图源的窗口的句柄。源窗口句柄为非顶级窗口类型,将导致返回值E_INVALIDARG。
phThumbnailId
指向句柄的指针,当此函数成功返回时,该句柄表示DWM缩略图的注册。
如果此函数成功,则返回
S_OK
. 否则,它返回一个
HRESULT
错误代码。
DwmUnregisterThumbnail function
删除由创建的桌面窗口管理器(DWM)缩略图关系
DwmRegisterThumbnail
功能
DWMAPI DwmUnregisterThumbnail(
HTHUMBNAIL hThumbnailId
hThumbnailId
要删除的缩略图关系的句柄。NNULL或不存在的句柄将导致返回值E_INVALIDARG。
如果此函数成功,则返回S_OK. 否则,它返回一个HRESULT错误代码。
#include <dwmapi.h>
#pragma comment(lib,"Dwmapi.lib")
HRESULT RegisterThumbWindow(HWND hWndSrc, HWND hWndDst)
HRESULT hr = S_OK;
HTHUMBNAIL thumbnail = NULL;
hr = DwmRegisterThumbnail(hWndDst, hWndSrc, &thumbnail);
if (SUCCEEDED(hr))
RECT dest;
::GetClientRect(hWndDst, &dest);
DWM_THUMBNAIL_PROPERTIES dskThumbProps;
dskThumbProps.dwFlags = DWM_TNP_RECTDESTINATION | DWM_TNP_VISIBLE | DWM_TNP_SOURCECLIENTAREAONLY;
dskThumbProps.fSourceClientAreaOnly = FALSE;
dskThumbProps.fVisible = TRUE;
dskThumbProps.opacity = (255 * 70)/100;
dskThumbProps.rcDestination = dest;
hr = DwmUpdateThumbnailProperties(thumbnail,&dskThumbProps);
if (SUCCEEDED(hr))
// ...
return hr;
DwmRegisterThumbnail function在目标窗口和源窗口之间创建桌面窗口管理器(DWM)缩略图关系。DWMAPI DwmRegisterThumbnail( HWND hwndDestination, HWND hwndSource, PHTHUMBNAIL phThumbnailId);参数hwndDestination将使用DWM缩略图的窗口的句柄。目标窗口句柄为非顶级窗口类型,将导致返回值E_INVALIDARG。