Поделиться через


Функция 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
Header dwmapi.h
Библиотека Dwmapi.lib
DLL Dwmapi.dll

См. также раздел

Общие сведения о эскизах DWM

Общие сведения о диспетчере окон рабочего стола

DwmQueryThumbnailSourceSize

DwmUnregisterThumbnail

DwmUpdateThumbnailProperties