OpenInputDesktop function (winuser.h)
Opens the desktop that receives user input.
HDESK OpenInputDesktop( DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess );
This parameter can be zero or the following value.
||Allows processes running in other accounts on the desktop to set hooks in this process.|
If this value is TRUE, processes created by this process will inherit the handle. Otherwise, the processes do not inherit this handle.
The access to the desktop. For a list of access rights, see Desktop Security and Access Rights.
If the function succeeds, the return value is a handle to the desktop that receives user input. When you are finished using the handle, call the CloseDesktop function to close it.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
The calling process must have an associated window station, either assigned by the system when the process is created, or set by the SetProcessWindowStation function. The window station associated with the calling process must be capable of receiving input.
If the calling process is running in a disconnected session, the function returns a handle to the desktop that becomes active when the user restores the connection.
An application can use the SwitchDesktop function to change the input desktop.
If the dwDesiredAccess parameter specifies the READ_CONTROL, WRITE_DAC, or WRITE_OWNER standard access rights, you must also request the DESKTOP_READOBJECTS and DESKTOP_WRITEOBJECTS access rights.
|Minimum supported client||Windows 2000 Professional [desktop apps only]|
|Minimum supported server||Windows 2000 Server [desktop apps only]|
|Header||winuser.h (include Windows.h)|
|API set||ext-ms-win-ntuser-windowstation-l1-1-1 (introduced in Windows 8.1)|