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

Делает указанный рабочий стол видимым и активирует его. Это позволяет рабочему столу получать входные данные от пользователя. Для успешного выполнения функции SwitchDesktop вызывающий процесс должен иметь DESKTOP_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

Функции оконных станций и настольных компьютеров