please dont rip this site Prev Next

CreateDesktop info  Overview  Group

The CreateDesktop function creates a new desktop on the window station associated with the calling process. It returns a handle that can be used to access the new desktop. The calling process must have an associated window station, either assigned by the system at process creation time or set by SetProcessWindowStation. A desktop is a secure object contained within a window station object. A desktop has a logical display surface and contains windows, menus, and hooks.

HDESK CreateDesktop(

    LPCTSTR lpszDesktop,

// name of the new desktop

    LPCTSTR lpszDevice,

// reserved; must be NULL.

    LPDEVMODE pDevMode,

// reserved; must be NULL

    DWORD dwFlags,

// flags to control interaction with other applications

    DWORD dwDesiredAccess,

// specifies access of returned handle


// specifies security attributes of the desktop



Points to a null-terminated string specifying the name of the desktop to be created. Desktop names are case-insensitive and may not contain backslash characters (\).
Reserved; must be NULL. The desktop uses the default display driver loaded at boot time.
Reserved; must be NULL.
A bit flag parameter that controls how the calling application will cooperate with other applications on the desktop. This parameter can specify zero or the following value:




Allows processes running in other accounts on the desktop to set hooks in this process.

Specifies the type of access to the desktop. This parameter can be one or more of the following values:




Required to create a menu on the desktop.


Required to create a window on the desktop.


Required for the desktop to be enumerated.


Required to establish any of the window hooks.


Required to perform journal playback on the desktop.


Required to perform journal recording on the desktop.


Required to read objects on the desktop.


Required to activate the desktop using the SwitchDesktop function.


Required to write objects on the desktop.

Pointer to a SECURITY_ATTRIBUTES structure that determines whether the returned handle can be inherited by child processes. If lpsa is NULL, the handle cannot be inherited.

The lpSecurityDescriptor member of the structure specifies a security descriptor for the new desktop. If lpsa is NULL, the desktop inherits its security descriptor from the parent window station.

Return Values

If the function succeeds, the return value is a handle to the newly created desktop. If the specified desktop already exists, the function succeeds and returns a handle to the existing desktop.

If the function fails, the return value is NULL. To get extended error information, call GetLastError.


The CreateDesktop function returns a handle that can be used to access the desktop.

See Also

SECURITY_ATTRIBUTES, SetProcessWindowStation, SwitchDesktop 

file: /Techref/os/win/api/win32/func/src/f08_12.htm, 7KB, , updated: 2000/4/7 12:19, local time: 2024/6/12 08:09,

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF=""> CreateDesktop</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

  PICList 2024 contributors:
o List host: MIT, Site host, Top posters @none found
- Page Editors: James Newton, David Cary, and YOU!
* Roman Black of Black Robotics donates from sales of Linistep stepper controller kits.
* Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters.
* Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated!
* Contributors: Richard Seriani, Sr.

Welcome to!