Windows 7 moves/resizes windows on monitor power cycle

Anonymous
2010-10-08T22:13:48+00:00

I have a new W7 ultimate install on a new PC (AOpen DEX4501 w intel GM45 graphics). I have installed the latest Intel graphics drivers 8.15.10.2202, and all relevant windows updates.

It is connected via HDMI to a Grundig Misuro HD TV. My resolution is set to 1600x900, windows recommended resolution is 1920x1080 but this displays badly so I don't use it.

When Windows sleeps, or I turn off (then later on) the monitor, most windows are moved/resized to the upper left with the lower right at 1024x768.

Firefox, Excel(2003),Explorer windows resize/move, Outlook(2003) did not move/resize.

I have a Samurize (Gadget like) display on the right which someimes get relocated to the top left, but not this morning. The windows resize/move also happens when Samurize is not running.

I have found three other entries related to this;

They don't seem to have been resolved for a long time.

This is a Windows monitor power managment issue, can it be fixed please it is very annoying.

I won't be recommending W7 to others with such issues outstanding.

Windows for home | Previous Windows versions | Devices and drivers

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2010-10-09T02:55:58+00:00

I have found a work-around.

Using Sysinternals ProcessMonitor I found that Windows was accessing the following Registry path;

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

My system had three entries;

DELF003YY7707BR0MUL_30_07D7_6A^9A3774EB79DEE3E3E38496CC7DF4D936

QHD32000001_31_07D6_D5^63E1ABDD175E7871DCAEB710418A0F75

SIMULATED_8086_2A42_00000000_00020000_1010100^CDE365D1B3F0942F0CF38BFB8E127AB4

Under each is a tree called "00" two of the keys are

PrimSurfSize.cx

PrimSurfSize.cy

Under "00" was another branch also called "00" two of the keys are;

ActiveSize.cx

ActiveSize.cy

The first two of the configs (ie DELF00... & QHD3...) the above keys were 1440x900,

so they were not involved.

The third (SIMULATED...) were set to 1024x768.

I changed these to 1600x900 and the problem was solved.

Further I changed resolution (via control panel) to 1920x1080, the moving/resize issue returned,

but the lower right corner was set to 1600x900, ie the SIMULATED... settings.

So for some reason one of the configs does not get set correctly.

I don't know why there are three configs, I have only ever used one monitor.

Hope this helps someone out there...

Was this answer helpful?

400+ people found this answer helpful.
0 comments No comments

236 additional answers

Sort by: Most helpful
  1. Anonymous
    2016-02-21T23:48:54+00:00

    I'm here reading this post because I'm having these exact issues for Windows 10.

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2016-02-05T00:43:09+00:00

    All I did was remove all entries from the configuration of graphic drivers in the registry directory mentioned by most posts here.  That worked very nicely, I guess after having this computer through 3 monitors it starts making too many entries and Windows gets confused.

    Thank you everyone that has posted here!

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2016-01-28T07:37:31+00:00

    I have a GTX660 and a tri-monitor system (2x DVI, 1x HDMI) and the primary solution didn't work for me: open windows still kept pushing to a different monitor when I woke the monitors (system not in S3 sleep, just monitors that go green).

    But while playing with the solution proposed by MichaelAtOz, I realized that while I had multiple monitor config entries, they were different than his. One entry was for one monitor, one was for two monitors, the third was for all three monitors. And apparently, when the monitors wake up, they read the first entry from the registry first, and then the second entry, and by the time the third registry entry is read, that makes everything barf. Kind of like who's on first, what's on second, and I don't know on third. Making manual changes to any of the strings did not work.

    What worked for me: I deleted all entries under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration and shut down. I then unplugged two monitors, and booted. The registry now shows one entry, specific to my LG monitor (GSMxxxxxxx_xx-xx). Then I shut down, plugged in my NEC monitor and booted, and the registry has a second entry of GSMxxx(x) + NECxxx(x). Then I shut down again, plugged in the Dell monitor and booted, and got a third entry with the string of GSMxxx(x) + NECxxx(x) + DELxxx(x).

    So I deleted the first two entries directly below \Configuration and rebooted: now there is only one entry, the third one, which is still GSMxxx(x)

    • NECxxx(x) + DELxxx(x). And BINGO: Windows locations on monitors no longer change when bringing the monitors out of green standby. Yay!

    I assume this will work on dual-monitor systems as well. For those with a laptop that undocks, I would suggest trying the above scenario (delete all keys under \Configuration) and then reboot while docked: this should create the first key which prioritizes dual-monitor in the registry. Then shutdown, undock and boot again: this will create the second key with a single monitor entry that will only be needed when undocked.

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2016-01-13T22:27:05+00:00

    I use 2560x1440 monitor.  When I install windows 10, I encountered this problem and was able to fix by editing registry entries posted by MichaelAtOz.  However, after November update the problem come back and I could not fix the problem by editing registry again.  Then, I found out that Windows turn on scaling from 100% to 150% briefly when the monitor is detected by using chrome remote desktop and watch what happen during monitor power cycle.  I was able to fix this by changing the following setting

    Control Panel > Display > set a custom scaling level > set to 100%

    That was all I need to do to fix the second time.  It is different problem with the same symptoms.

    This worked for me nicely. To everyone who has this problem i'd recommend doing this and in addition to fixing your registry.

    Was this answer helpful?

    0 comments No comments