Just read a tweet from @andyjmorgan about Interactive Service Detection. This made me remember that it's possible to switch to the Session 0 with an undocumented api in winsta.dll.

For this API to work you must have the Interactive Services Detection (UI0Detect) service running.

The signatures are:

objectpascal Download
procedure WinStationSwitchToServicesSession; stdcall; external 'winsta.dll';

procedure WinStationRevertFromServicesSession; stdcall; external 'winsta.dll';

Since these procedures require no arguments we can also call them from the commandline:

batch Download
rundll32 winsta.dll,WinStationSwitchToServicesSession

When you switch to the services desktop you will automatically get a Dialog Box that enables you to Return to the normal desktop (this just calls WinStationRevertFromServicesSession).

The program is no longer requesting attention | The message might have been one that required no action, such as a quick status notification. Windows will notify you if the problem reappears | Return now

Or you can manually return with this commandline:
batch Download
rundll32 winsta.dll,WinStationRevertFromServicesSession;