CreateDesktop

【勇芳软件工作室】汉化HomePreviousNext

CreateDesktop函数在与调用进程相关联的窗口工作站上创建一个新的桌面。它返回一个可用于访问新桌面的句柄。调用进程必须具有关联的窗口工作站,由系统在进程创建时分配或由SetProcessWindowStation设置。桌面是包含在窗口站对象内的安全对象。桌面具有逻辑显示面,包含窗口,菜单和挂钩。

HDESK CreateDesktop(

LPCTSTR 【lpszDesktop】,//新桌面的名称
LPCTSTR 【lpszDevice】,//保留;必须为NULL。
LPDEVMODE 【pDevMode】,//保留;必须为NULL
DWORD 【dwFlags中】,//标志来控制与其他应用程序的交互
DWORD 【dwDesiredAccess】,//指定返回句柄的访问
LPSECURITY_ATTRIBUTES 【LPSA】//指定桌面的安全属性
); 

参数

【lpszDesktop】

指向一个以null结尾的字符串,指定要创建的桌面的名称。桌面名称不区分大小写,不得包含反斜杠字符(\\)。

【lpszDevice】

保留;桌面使用在引导时加载的默认显示驱动程序。

【pDevMode】

Reserved; must be NULL.

【dwFlags中】

一个位标志参数,用于控制呼叫应用程序将如何与桌面上的其他应用程序配合使用。此参数可以指定零或以下值:

描述
DF_ALLOWOTHERACCOUNTHOOK允许进程在桌面上的其他帐户中运行,以便在此过程中设置挂接。

【dwDesiredAccess】

指定对桌面的访问类型。此参数可以是以下值中的一个或多个:

描述
DESKTOP_CREATEMENU需要在桌面上创建一个菜单。
DESKTOP_CREATEWINDOW需要在桌面上创建一个窗口。
DESKTOP_ENUMERATE需要枚举的桌面。
DESKTOP_HOOKCONTROL需要建立任何窗口挂钩。
DESKTOP_JOURNALPLAYBACK需要在桌面上执行日志回放。
DESKTOP_JOURNALRECORD需要在桌面上执行日志记录。
DESKTOP_READOBJECTS需要在桌面上读取对象。
DESKTOP_SWITCHDESKTOP需要使用SwitchDesktop功能激活桌面。
DESKTOP_WRITEOBJECTS需要在桌面上写入对象。

【LPSA】

指向SECURITY_ATTRIBUTES结构的指针,用于确定返回的句柄是否可以由子进程继承。如果【LPSA】为NULL,则无法继承该句柄。

Windows NT:结构的lpSecurityDescriptor成员指定新桌面的安全描述符。如果【LPSA】为NULL,则桌面从父窗口站继承其安全描述符。

Windows 95:结构的lpSecurityDescriptor成员将被忽略。

返回值

如果函数成功,则返回值是新创建的桌面的句柄。

如果函数失败,返回值为NULL。要获取扩展错误信息,请调用GetLastError.

备注

CreateDesktop函数返回一个可用于访问桌面的句柄。

也可以看看

SECURITY_ATTRIBUTES, SetProcessWindowStation, SwitchDesktop