I've seen this question, but I was hoping to avoid using CreateProcessAsUser. I can enumerate windows by calling EnumDesktopWindows, and I can get the desktops by calling EnumDesktops. Unfortunately, EnumDesktops requires a window station name, and WTSQuerySessionInformation with WTSWinStationName explicitly does not return the window station name.
So, I guess my question is: how do I get hold of the Window Station for a WTS session?