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


Функция SetThreadDesktop (winuser.h)

Назначает указанный рабочий стол вызывающему потоку. Все последующие операции на рабочем столе используют права доступа, предоставленные рабочему столу.

Синтаксис

BOOL SetThreadDesktop(
  [in] HDESK hDesktop
);

Параметры

[in] hDesktop

Дескриптор рабочего стола, назначаемый вызывающему потоку. Этот дескриптор возвращается функцией CreateDesktop, GetThreadDesktop, OpenDesktop или OpenInputDesktop .

Этот рабочий стол должен быть связан с текущей станцией окон для процесса.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Функция SetThreadDesktop завершится ошибкой , если вызывающий поток имеет какие-либо окна или перехватчики на текущем рабочем столе (если параметр hDesktop не является дескриптором для текущего рабочего стола).

Предупреждение Существует значительный риск безопасности для любой службы, которая открывает окно на интерактивном рабочем столе. Открыв окно рабочего стола, служба делает себя уязвимой для атак со стороны вошедшего в систему пользователя, приложение которого может отправлять вредоносные сообщения в окно рабочего стола службы и влиять на ее возможности.
 

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-windowstation-l1-1-0 (появилось в Windows 8)

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

CreateDesktop

Настольные системы

GetThreadDesktop

OpenDesktop

SetProcessWindowStation

Функции Оконной станции и рабочего стола