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