How can I force a program to open in a specific desktop?

You can use the program VDesk to achieve this functionality.

VDesk for Windows 10: launch programs on virtual desktops

Vdesk is a portable program for Windows that adds the feature to Windows 10. It is a command line program but ships with an option to integrate its functionality in File Explorer.

The main command looks like this: vdesk [n] [command [args]]

  • n sets the index of the virtual desktop you want to launch the program on.
  • [command [args]] specifies the program and arguments that you want it to start.

The command vdesk notepad.exe launches Notepad on a new virtual desktop, while vdesk 3 notepad c:\text.txt opens Notepad on virtual desktop 3 and uses an argument to load text.txt automatically.

You can run the application on start of Windows 10 to always load programs on virtual desktops when the operating system starts by creating simple batch files, and adding them to one of the many startup locations of the operating system.

The option to launch a program on a new virtual desktop can be added to File Explorer as well. You need to run vdesk -install for that on the command line, and will notice afterwards that a new "open in new virtual desktop" option is available when you right-click on executable files in File Explorer.

The command vdesk -uninstall removes the entry from File Explorer again.


As of now, Windows 10 only have shortcut keys for creating a virtual desktop and switch between virtual desktops and peek inside virtual desktop. I don't think it is possible assign specific programs to specific virtual desktop.