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

Делает указанный рабочий стол видимым и активирует его. Это позволяет рабочему столу получать входные данные от пользователя. Вызывающий процесс должен иметь DESKTOP_SWITCHDESKTOP доступ к рабочему столу для успешной работы функции SwitchDesktop .

Синтаксис

BOOL SwitchDesktop(
  [in] HDESK hDesktop
);

Параметры

[in] hDesktop

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

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

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

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

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

  • Когда рабочий стол принадлежит невидимой станции окна
  • Если hDesktop является недопустимым дескриптором, он ссылается на уничтоженный рабочий стол или принадлежит к сеансу, отличному от сеанса вызывающего процесса.

Комментарии

Функция SwitchDesktop завершается ошибкой, если рабочий стол принадлежит невидимой станции окна. SwitchDesktop также завершается сбоем при вызове из процесса, связанного с защищенным рабочим столом, например рабочими столами WinLogon и ScreenSaver. Процессы, связанные с защищенным рабочим столом, включают пользовательские процессы UserInit. Такие вызовы обычно завершаются ошибкой "Отказано в доступе".

Требования

   
Минимальная версия клиента 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

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

OpenDesktop

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