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

Открывает указанный объект рабочего стола.

Синтаксис

HDESK OpenDesktopA(
  [in] LPCSTR      lpszDesktop,
  [in] DWORD       dwFlags,
  [in] BOOL        fInherit,
  [in] ACCESS_MASK dwDesiredAccess
);

Параметры

[in] lpszDesktop

Имя открываемого рабочего стола. В именах рабочих столов регистр не учитывается.

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

[in] dwFlags

Этот параметр может быть равен нулю или следующему значению.

Значение Значение
DF_ALLOWOTHERACCOUNTHOOK
0x0001
Позволяет процессам, работающим в других учетных записях на рабочем столе, устанавливать перехватчики в этом процессе.

[in] fInherit

Если это значение равно TRUE, процессы, созданные этим процессом, наследуют дескриптор. В противном случае процессы не наследуют этот дескриптор.

[in] dwDesiredAccess

Доступ к рабочему столу. Список прав доступа см. в разделе Безопасность и права доступа к рабочему столу.

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

Если функция выполняется успешно, возвращается дескриптор открытого рабочего стола. Завершив использование дескриптора, вызовите функцию CloseDesktop , чтобы закрыть ее.

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

Комментарии

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

Если параметр dwDesiredAccess указывает READ_CONTROL, WRITE_DAC или WRITE_OWNER стандартные права доступа, необходимо также запросить права доступа DESKTOP_READOBJECTS и DESKTOP_WRITEOBJECTS .

Примечание

Заголовок winuser.h определяет OpenDesktop как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

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

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

CloseDesktop

CreateDesktop

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

OpenInputDesktop

SetProcessWindowStation

SetThreadDesktop

SwitchDesktop

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