67

I am having a weird issue with a machine where sometimes when a window is initialized, it will shoot off screen and out of sight. I am unable to click on it to drag it back to sight.

Are there any programs or fixes for this in Windows XP?

I know Windows and other programs like to save window locations after they close so when you reopen them they are in the spot where they were closed and I cannot see any of these windows that were closed off screen.

4

12 Answers 12

102

Highlight in in the task bar, hit ALT+SPACE then M. That will get it ready to move. Then use your arrow keys to move it and hit Enter when finished.

Try holding the Shift key while closing. That often saves the location.

14
  • 4
    Also, right-click on the program item in the task bar, select Move, then, without moving your mouse again, press the right, left, up, or down arrow keys as appropriate until the window comes into view. Jul 28, 2011 at 16:21
  • Thank you! This worked perfectly. Will mark as the answer once the timeout expires.
    – qroberts
    Jul 28, 2011 at 16:22
  • 1
    @qroberts I am not sure why it is not universal, but the Shift trick works for some programs nicely, saving the position when it may not otherwise save. Thank you for marking it. I appreciate it.
    – KCotreau
    Jul 28, 2011 at 16:24
  • 18
    After pressing Alt+space, and then using one of the arrow buttons to move it a little, you can also then simply move the mouse and the window will jump under your mouse cursor. Jul 28, 2011 at 19:37
  • 1
    @qroberts @KCotreau: The shift trick only works if the program asks CreateWindowEx (or, in .Net, the FormStartLocation) to use the default start position. There are plenty of programs (and perhaps frameworks?) which don't use the default location, either with valid reason, or because the developer forgot/made a mistake/doesn't know any better (it's not a bug you'd normally notice...) Jul 28, 2011 at 22:11
18

I have a geeky solution :-) Script in Python that goes through all off-screen windows and offers moving them to the left upper corner:

import winxpgui, sys, win32con

screen_width = 1920
screen_height = 1200

def WindowsListEnum(hwnd, data):
    pos = winxpgui.GetWindowRect(hwnd)
    left, top = 0, 0
    if pos[0] < 0 or pos[0] > screen_width:
        left = 10
    if pos[1] < 0 or pos[1] > screen_height:
        top = 10
    if left or top:
        print winxpgui.GetWindowText(hwnd), ',', pos, '->', (top, left, pos[2], pos[3])
        if sys.stdin.read(1) == 'y':
            winxpgui.SetWindowPos(hwnd, win32con.HWND_NOTOPMOST, left, top, pos[2]-pos[0], pos[3]-pos[1], win32con.SWP_SHOWWINDOW)

print "press 'y' to move the window, anything else to continue\n"
winxpgui.EnumWindows(WindowsListEnum, None)

You need Python and Win32all.

5
  • 4
    Yeah, you could download and install stuff (3-5 minutes), OR you could use shortcut keys (3-5 seconds)...
    – TFM
    Jul 29, 2011 at 10:20
  • 2
    I usually use the shortcut too but sometimes it does not work or I need to move more Windows at once. Jul 29, 2011 at 11:25
  • 3
    Completely overkill but I like it
    – Gary
    Jul 29, 2011 at 15:48
  • 6
    +1. This is useful if the window is completely offscreen and in an unknown direction (or very far offscreen). Jul 30, 2011 at 12:34
  • @Peter: in that case you could use alt-space followed by x, which maximizes the window Aug 3, 2011 at 11:05
15

In Windows 7 you can select the window and then Win + arrow keys to move it.

1
  • 3
    Note that the question asked about Windows XP, but this is a great trick for Windows 7 which I do use sometimes myself.
    – nhinkle
    Jul 29, 2011 at 6:32
9

You can also right-click on the taskbar and choose one of the window-arranging menu choices. In Windows 7, they are:

  • Cascade Windows
  • Show Windows Stacked
  • Show Windows Side-by-side

Previous versions used slightly different terms, but did the same thing. Some versions will only arrange non-minimized windows/applications, if I recall correctly.


enter image description here

2
  • This method also affects all the other visible windows.
    – Synetech
    Aug 14, 2011 at 5:48
  • That's true @Synetech but when you are desperate to get back an offscreen window during a presentation, you don't mind getting messy... May 28, 2015 at 15:23
6
  1. Set focus to the window, by clicking in the task bar or ALT+TAB.

  2. ALT+SPACE to bring up the system menu.

  3. M to select Move.

  4. Tap an arrow key once to start moving the window.

  5. Move your mouse.

The window will quickly pop in to view.

This is faster than using the arrows to move the window the whole way, especially if it is way off screen.

3
  • You don’t need both axes; any arrow key will do.
    – Synetech
    Aug 14, 2011 at 5:46
  • @Synetechinc: I just confirmed that in Windows 7; you are right. I learned this sequence long ago, so it may have been required in earlier versions of Windows / NT. If anyone has that info, I will update my answer.
    – Jay Bazuzi
    Aug 14, 2011 at 18:50
  • Hmm, that seems strange, I can’t imagine why both would be required. I know any arrow key was sufficient at least back to Win95. Maybe you just pressed both and thought that’s what did it, like pressing a bunch keys in a game to do something and not knowing which one did the trick, so you just repeat them all each time. :-)
    – Synetech
    Aug 14, 2011 at 18:59
5

One extra tip: after you have started moving it with the keyboard (one pixel), finish by just moving the mouse. That is a lot faster.

2

@qrobers as noted by StevenV

Right click on the taskbar window button and tell it to

  • Cascade Windows (stacks windows on top of each other with the windows headers showing)
  • Tile Windows Vertically (does its best to place all open windows re-sized on your desktop)
  • Tile Windows Horizontally (does its best to place all open windows re-sized on your desktop)

This is by far the easiest. I use it in a multiple monitor set on my laptop when power goes out and I loose the second monitor. I can pull all the windows onto my main monitor (laptop). Very easy, quick.

1
  • This method also affects all the other visible windows.
    – Synetech
    Aug 14, 2011 at 5:47
0

Some applications don't respond to activating the window plus using alt+space+m, such as FSCapture (faststone screen capture). WindowSpace (free trial) worked to move it back onto the screen.

0

A technique that often works is this:

  • Right-click in the taskbar and choose "Show Desktop"
  • Right-click on the problem program task and choose "Restore"
  • Right-click on the some other program's task and choose "Restore"
  • Right-click in the taskbar and choose "Cascade Windows"

This normally causes the window parameters to fit onto the current screen. Having only two active windows keeps most window positions unchanged.

0

There is (or was) an extremely good program called Shove-It for Windows. Used to be at www.phord.com but it's been taken down now. Basically just run it and it will automatically detect any windows that have opened with their contents even partially off-screen, and either "shove" them back into the viewing portal area or else resize them if necessary, all automatically. I managed to locate an old beta of it which is free, will share via Sugarsync. https://www.sugarsync.com/pf/D290041_6932435_98576

1
  • 3
    Just an FYI, most users here would be pretty skeptical of downloading a random zip file from the internet, even with background.
    – user201262
    Nov 9, 2013 at 16:57
0
  1. Install aero snap plugin.
  2. Move the screen with the hotkey: Win + arrows
0

One more option which allows to not affect other window positions and to avoid mouse-dragging: run an additional instance of the same application (in case currently there is only one), so that the following menu is available when you press Shift + right mouse click: enter image description here

You must log in to answer this question.

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