The Registry-Guts Behind the Edit.

Home

 


This is a fairly brief description as going into endless details of every possible scenario could easily make this page a ridiculous size.  I'll just cover the main issue and a few little side trips.


The Brief Explanation

The Changes Made

The changes you made manually, or that the patch makes when merged with the registry, are generally pretty easy to explain. 

 
The Longer Explanation (5.0)

Registry Operations in IE 5.0

The registry operations on Window_Placement in IE 5.0, in a simple scenario, are as follows.  For simplicty's sake, I'll only include the really important parts of W_P below (5th byte, 9th byte, width, and height):

It seems that this is the source of everyone's trouble with the 600x411 default new window size.  Because I had the 600x411 default in place originally, and IE took note of it and wrote it back to W_P at the end of every session, I was stuck with it.

If I closed the original window first, it would write back 02, 03, 58 02, 9B 01 just like usual, and the new window would write back 00, 01, [new width], [new height].  On opening IE 5x again though, it would ignore everything, open at 58 02 by 9B 01, and use it for new windows too.  I think of the 00 and 01 as a 'just kidding marker', that has to do with opening the original window maximized, but otherwise tells IE to use the 58 02 and 9B 01 default that must be hard-coded in.

My edit or patches, applied before IE is opened, just tell it that the default new window size is such-and-such, so when IE opens a new window it uses that value, and it writes back the same useful value when you close out of it completely.

  
The Longer Explanation (5.5+)

Registry Operations in IE 5.5 and Up

IE 5.5 and up apparently uses a tacked-on workaround to fix the wrong problem, but also almost fixes the original problem of the teensy default.  The same scenario as above results in the following registry accesses:

Insofar as this goes, the problem still exists.  The key is that IE doesn't ignore the dimensions specified when W_P is set with the 00 and 01 'just kidding marker'.

If you close a new window last, IE writes back 00, 01, [new width], [new height].  But IE actually uses them the next time, so when you close IE's main window the next time, it writes them back and they become the usual ones to use.  The benefit here of IE 5.5+ is that MS apparently excised the part about defaulting to 600x411 if IE first opens non-maximized.

Where IE gets even more interesting is in the wrong problem it fixes.  The extra querying and setting of W_P are so IE can insure that the specified dimensions are not larger than the current screen resolution.  Not smaller, of course, but larger.  Certainly this is a major problem we've all faced... opening new windows that are too large ;).  You can try it out yourself.  Use the patch appropriate for your resolution, change to a higher resolution, start 5.5 or 6.0, and the new windows will open as specified by the patch (much smaller than the screen due to the new resolution).  Now exit and apply the 1600x1280 patch (a resolution my video card and monitor won't even handle).  This worked for me in 5.0... I'd get only the corner of a huge new window since my resolution was generally at 800x600.  In IE 5.5+, you'll get a new window cropped down to fit your resolution.  Good show, that.  I'm delighted that MS has made sure that I'll never be plagued by over-large new windows again, especially considering that I never once was before.

On the whole, I don't care what the problem was anymore.  I can use IE now without feeling my blood pressure rise as every click to maximize a new window reminds me of the fundamental issues behind the stupid default and the difficulty of changing it as one normally would.  Now I just think more and more about Linux, especially since W2K couldn't manage to remember my window settings for more than ten seconds.

Return Home

IE 5.0, IE 5.5, IE 6.0, Internet Explorer, and Windows 98se, Me, and 2k/2000 are all trademarks of Microsoft Corp.

All rights to page contents reserved by author, copyright 2001.