Is there a way to start a program on a different desktop? Say if Desktop 2 is currently displayed, how could I open Notepad on Desktop 4?
-
If you are on Windows 10, sysinternals desktops dating from 2012 is not required.– harrymcCommented Oct 27, 2020 at 11:40
-
@harrymc maybe not, but the difference between windows 10 virtual desktop and sysinternals desktops can be justified by security concern. Sysinternas desktop creates real desktops instead of one desktop with 4 virtual spaces, which makes it more lightweight and more secure. You cannot move an app from one desktop to the other and everything runs in its own security state, meaning, one app in desktop 1 cannot know that app y runs in desktop 2, nor steal info from it.– LPChipCommented Oct 27, 2020 at 11:52
-
@LPChip: Sysinternals uses another desktop object, which blocks program hooks between desktops. In all other aspects the desktops are not isolated.– harrymcCommented Oct 27, 2020 at 12:16
-
@harrymc scorpiosoftware.net/2019/02/17/…– LPChipCommented Oct 27, 2020 at 12:36
1 Answer
You will need to create a program for launching an executable on another desktop of Sysinternals Desktops.
This is possible to do with the Windows
CreateProcess function
by specifying the desktop name in the
STARTUPINFO structure
member of lpDesktop
.
The format is windowstation\desktop
and may look like
"winsta0\Sysinternals Desktop 1".
To find the names of the Sysinternals desktop objects you may use the winsta tool that enumerates window stations and desktops in the current session (although you will need to compile it yourself).
Reference: Windows 10 Desktops vs. Sysinternals Desktops.
-
-
Yes, but you will need to first program yourself the launcher, probably in C, because Sysinternals does not provide it.– harrymcCommented Oct 27, 2020 at 12:41
-