I'm trying to create a utility similar to Microsoft's abandoned Super Fast User Switcher (download), which allows fast user switching without going through the Welcome screen.
I have a working implementation using the undocumented WinStationConnectW
API (along with WTSEnumerateSessions
), but it can only switch to a user who is already logged in.
How can I create a login session so that it can switch to a user who is not logged in?
I only need to support XP, although it'd be nice to work on Vista / Seven. (My current code already does)
I know that this is possible because Super Fast User Switcher does it. (Although it needs a Windows service to do it)
I'm writing C#, but I can translate any answer into C#.
LogonUser
creates a user token, not a logon session. I'm already using it to verify passwords. – InhibitionWinStationConnectW
). I'm not sure about Citrix, though. – Inhibition