The GetProcessWindowStation function returns a handle to the window station associated with the calling process.
HWINSTA GetProcessWindowStation(VOID)
This function has no parameters.
If the function succeeds, the return value is a handle to the window station associated with the calling process.
If the function fails, the return value is NULL. This can occur if the calling process is not an application written for Windows NT. To get extended error information, call GetLastError.
The system associates a window station with a process when the process is created. A process can use the SetProcessWindowStation function to change its window station.
The calling process can use the returned handle in calls to the GetUserObjectInformation, GetUserObjectSecurity, SetUserObjectInformation, and SetUserObjectSecurity functions.
Windows NT version 3.51: A Win32 service does not have an associated window station or desktop until the service calls a USER or GDI function that interacts with the desktop. If a service calls GetProcessWindowStation before it has an associated window station, the return value is NULL. After a service interacts with the desktop, the return value is a valid window station handle.
Windows NT version 4.0: A Win32 service is created with an associated window station and desktop, so there is no need to call a USER or GDI function to connect the service to a window station and desktop.
Windows NT: Requires version 3.1 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in winuser.h.
Import Library: Use user32.lib.
Window Stations and Desktops Overview, Window Station and Desktop Functions, GetThreadDesktop, GetUserObjectInformation, GetUserObjectSecurity, SetProcessWindowStation, SetUserObjectInformation, SetUserObjectSecurity