68

I'm using Windows 8.1, which has much better multiple monitor support than Windows 7 (sort of). However when I'm in a full-screen app on one monitor, and I go to the Start menu on the other and open a desktop app, it opens on the opposite monitor because of it being on that one last time the app was used.

This suspends the full-screen app and switches to the desktop view on that monitor. I then have to drag the desktop app to the other monitor which I didn't have my mouse pointer near in the first place, then switch back to the full-screen app on that monitor by going to the upper-right corner.

This is so incredibly irritating, every time I plug in my laptop to my second monitor and try to use it, this happens. Not to mention whenever I have Netflix or any kind of video in the second monitor and it just randomly stops playing when I'm trying to work on the other screen.

Most likely there is going to have to be a third-party application to install to do this, right? I would really prefer if it was free, as this was less annoying in Windows 7 when the application would only open on top of the other that was on that monitor. This is one of the maybe two annoying things I don't like about Windows 8/8.1. Everything else is fantastic, to be honest.

4
  • The same software that worked on Windows 7 will work on Windows 8.1 have you tried any of those? This question has two possible solutions.
    – Ramhound
    Apr 5, 2014 at 15:36
  • Are you talking about 2 "windows only" apps or are you talking about a metro app and a windows app. Hopefully you know the difference but I've noticed metro apps tend to screw with stuff in unpleasant ways myself so that could be what you're actually referring to. Either way what I mentioned below may help but metro apps are still a nuisance.
    – Codezilla
    Jun 20, 2014 at 10:57
  • Possible duplicate of How to make an application remember the last place in multiple monitors
    – TT--
    Jul 11, 2019 at 21:47
  • 1
    Worked for me on win10: (1) un-maximize (restore) a window (2) move it to the screen of interest without maximizing (3) close app (4) open app (5) maximize. The conclusion is, when window is maximized its screen state wouldn't be saved properly.
    – Rabash
    Dec 16, 2019 at 17:20

9 Answers 9

52

After experimenting with the shortcuts in Codezilla's answer if you press Windows+Shift+arrow keys you instantly jump it to another screen.

1
  • 4
    This does describe a workaround but it does not solve the Windows 10 Issue.
    – Tom
    Mar 10, 2021 at 9:45
19

I tried this successfully:

  1. Open the program.
  2. Move it to the monitor on which you would like it to open by default.
  3. Hit the Windows key + Shift + Enter.

From now on, it should open each time on the monitor of your preference.

9
  • 7
    Source for this keyboard shortcut? I downvoted as I speculate that win+shift+enter does nothing. Jan 12, 2019 at 14:12
  • @CleverLittleMonkey - yeah but it seems to work, even when the program is launched by another program on a different screen.
    – StingyJack
    Feb 12, 2019 at 16:19
  • 21
    Didn't work for me, Windows 10
    – Brionius
    Aug 26, 2019 at 17:40
  • 4
    Not working for me on Win10 1903.
    – Saeb
    Oct 30, 2019 at 3:42
  • 1
    This only works on some apps, en.wikipedia.org/wiki/Table_of_keyboard_shortcuts Switch fullscreen/normal size
    – Luis
    May 27, 2020 at 4:43
17

I'm not sure of a way to change the default positioning aside from closing the app on the screen you want it to appear on and then when you open it again it "might" be on the right screen.

That isn't always the case though as some apps have been programmed to load a certain way. However, as a quicker way to move stuff from one screen to the other, I use a shortcut that makes it faster that dragging stuff around with the mouse. When you have the app in focus that you want to move (if you just opened it and haven't clicked other places, it's in focus). Hold down the windows key and use the cursors to move the window around where you want it.

If it's on the left monitor and you want it on the right, hold down windows key + press right arrow key and it'll shift across the screen. Depending on what state the window is in (fullscreen/windowed) may depend on how many key presses it takes to move it but you can play around with it to get a feel for what the key presses do.

  • Windows key + up arrow : maximizes the window or undoes minimizing.
  • Windows key + down arrow : minimizes the window and makes windows focus be on whatever application was opened right before, or undoes maximizing.
  • Windows key + left/right : will move the window from snapped left to unsnapped to snapped right to snapped left on the next screen, etc.
  • Windows key + shift + left/right : will move the window to another screen in the same relative position.
  • Windows key + shift + up: Will maximize the window vertically only.
  • Windows key + left/right followed by Windows key + up/down: Will snap/unsnap the window in a corner.
1
  • 1
    This does describe a workaround but it does not solve the Windows 10 Issue.
    – Tom
    Mar 10, 2021 at 9:45
14

Here is how I fixed it in Windows 10

  1. Download and install Microsoft PowerToys for Windows: https://github.com/microsoft/PowerToys/releases (I am running 0.16.1 by downloading installing 0.16.0 version and 0.16.1 patch)

  2. PowerToys Settings > FancyZones > [Edit zones]: configure the layout as one column or row or whatever and disable "show space around zones". You'll have to do this for each monitor individually by dragging the settins window to another monitor

  3. PowerToys Settings > FancyZones: Enable "Move newly created windows to their last known zone"
  4. Drag the application you want to open in a specific screen over there, and when you're in that screen assign it to the "zone" by pressing/holding [shift] and then releasing the window into that screen.

If you close and open an app it will open open into the last zone you've assigned it to, which in this setup is your screen

I'm hoping it will work on Windows 8.1 aswell.

3
  • thanks for the tool! Microsoft is indeed making windows much more capable lately.
    – KhaimovMR
    Apr 12, 2021 at 18:06
  • Thanks for sharing this!
    – Alvin
    Jun 25, 2021 at 5:52
  • Works for Outlook, not working with my WPF application created using Visual Studio.
    – W.M.
    Aug 12, 2021 at 18:14
11

In the event of all the above solutions didn't help then mark the monitor which you want to open the application as Main Display.

Steps: Display settings - Multiple Displays - Make this my main display

4
  • 1
    This is correct answer, you need to select desired display at display settings first and then scroll down and check "Make this my main display". Here's a screenshot
    – Buksy
    Aug 27, 2018 at 14:48
  • 18
    But that just tells Windows which monitor homes the Start Menu Bar, not a per-application "run on this particular window."
    – Pete Alvin
    Nov 2, 2019 at 7:31
  • 1
    This is the correct answer for me too, win10 Sep 10, 2022 at 11:51
  • Downvote. This is not a solution, in fact it's the cause. If your previous 'main' display is currently either powered off, closed, attached to another computer or in another town it still tries to open new windows there....
    – Jay M
    Mar 6 at 14:11
2

There is an application that I used to use for multi-monitor task bar in Windows 7 called displayfusion. I believe the free version includes the feature you'll need which name escapes me but in essence it allows you to open a program on a specific monitor. It takes a little bit of fiddling but once you've set it up it'll force that program (I don't believe it works with apps) to open on a specific monitor. Hope this helps.

4
  • It's still there and I believe one of the functions of the non-free variant does mouse/window management. I'm going to put my $40 in and find out... Link: displayfusion.com/Compare
    – Jay M
    Mar 6 at 14:30
  • @JayM - Before splashing the $40 on display fusion, please bare in mind that I posted this solution nearly 9 years ago.
    – Lofty
    Mar 9 at 0:38
  • Indeed you did, but others have been here more recently and it is best to comment where it's most relevant. So, I did it anyway $40 ~ £30 or less than half an hour of my time. It's is well up to date and works fine. It was installed through Steam so I won't lose the license key this time (as I did the last one I had back in Win7 days). Even sorts out my 5 monitors and tames my mouse pointer, which tends to wonder off and get up to mischief on another screen....
    – Jay M
    Mar 13 at 22:05
  • Thanks for coming back and providing feedback. It's good to hear that it's still being supported and developed. Not to mention that it has resolved the issue you were facing.
    – Lofty
    Mar 15 at 15:11
2

The other answers didn't work for me. Here's how I fixed it, with a two monitor setup:

  1. Close application
  2. Disabled the monitor that was 'wrong'
  3. Open the application, forcing it to open on the 'correct' monitor
  4. Close application
  5. Re-enable 2nd monitor
0

If your program is a Unity-made game (who compiled with that option supported), you can run it once with -show-screen-selector parameter and select the correct monitor.

Once you have done that the game remember which screen to run on.

Edit:

The same can be achieved by using -adapter 2 parameter.

-1

Try PrgLnch.

PrgLnch is a program I wrote in AutoHotkey as a quick program launcher. It comes with a help file and context help. It includes support for:

  • Batch processing
  • Selectable resolutions
  • ini file
  • Multiple displays
  • HTTP download for update
  • Optional LAA patch
  • And more...
3
  • 1
    I'm not sure why this answer is downvoted so much. It's at least as useful as the DisplayFusion answer and it's free and open-source. One thing I will say is that it's considered good form to make it clear in an answer that you're the author of the software you're suggesting.
    – John Y
    Jan 3, 2023 at 16:08
  • Agree with @John-Y indeed it's the only answer so far that is a solution rather than a work-round. Note to OP; Please update your answer to disclose you wrote this as a solution and not an advert. (IMO SE should disallow downvote without an explanation)
    – Jay M
    Mar 6 at 14:15
  • Cudos to @Laurie-Stearn not come across AutoHotkey before. This could be a neat solution to a lot of Windows annoyances. More upvotes are in order.
    – Jay M
    Mar 6 at 14:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .