
One of the annoyances that has been in Windows for awhile is the after-affects that can occur after you disconnect a second monitor. Many times the windows that are off-screen will become “unreachable,” and moving them back to the primary monitor can be difficult. Most apps even try to remember their last-used position, which means restarting the program doesn’t even fix the problem.
How do you get around this? Well, there are a few different ways. One way that I’ve used for a long time is to just right-click on the Windows Taskbar, and choose the Cascade windows option. I’ve found that this will, for the most part, gather up all the windows and place them on the primary screen.
There’s also another workaround, and it’s a free program called Altdrag. With this running you can simply hold down the Alt key + left mouse button, and drag the mouse around to move the window. As you can imagine something like this is useful for more than bringing off-screen windows back to your primary monitor. Once I got used to Altdrag it became my primary way to move windows around the screen.
That’s not all it is capable of either. If you hold down the Alt key + right mouse button you’ll be able to resize the window that is currently selected. Dragging the mouse down or to the left will reduce the height/width of the window, and dragging up or to the right will increase the height/width of the windowy. Moving the mouse diagonally will increase/decrease both the height and width at the same time.
In terms of options almost everything, with the exception of having Altdrag automatically start with Windows, has to be configured through a text file. Other things, such as changing the keys used, goes a little beyond what the average user will want to mess with.
How taxing will it be on your system? On my Windows 7 machine it uses a mere 1.5MB of memory. Well worth the minimal resources it consumes.
Altdrag Homepage (Windows only; 32/64-bit; Freeware)

Another way that I solved ths problem comes from when I used Windows without a mouse, back on version 1.01 in the 80′s. Press Alt-Space to get the system menu (the one you get when right-clicking the title bar) Select Move. You can now move the window so the title bar is visible back. Just use the arrow keys and press Enter once you’re done.
Alt-Drag functionality is something that has been in the core of Compiz under Linux for a long time already.
Very nice tip! It’s crazy that we have to go to these lengths just to get the windows back on screen.
You may wish to check out “KDE Mover-Sizer.” It too is an open source little nugget of goodness. I’ve been using it for several years, hoping MS might build that kind of functionality into an OS (HA!!)
[corz.org]
Does anyone know if Altdrag is “portable?”
Why not click on the window on the task bar, Hit Alt-Space, R (restore) this puts the desired window into a movable state, then hit Alt-Space, M (move) now you can use the cursor keys to move the window wherever you need to.
This issue used to trip me up, but then I found the very easy already included solution.
Just right-click the program in the taskbar (shift+right-click in Win7) and click Move. Then just press the arrow keys to move the window to the desired location.
alt-space then maximize, then right click on menu to cascade!!
Right clicking on the program taskbar icon only had option to minimize or close.
The alt-space tip saved from connecting back up to a monitor. Thanks!!
AOA
The permanent solution is that if you on auto-hide-taskbar, please off and than use, the off screen problem is solve.