DwmRegisterThumbnail 関数 (dwmapi.h)

変換先ウィンドウとソース ウィンドウの間にデスクトップ ウィンドウ マネージャー (DWM) のサムネイル関係を作成します。

構文

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

パラメーター

hwndDestination

DWM サムネイルを使用するウィンドウへのハンドル。 宛先ウィンドウ ハンドルを最上位のウィンドウの種類以外に設定すると、戻り値は E_INVALIDARGになります。

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