Функция 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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Перемешивание использования нейтральную кодировку псевдонима с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в соглашениях по прототипам функций.

Требования

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

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