Sunday, November 18, 2007

Vista/XP Quick Screen Resolution Toggle Tip

...and then some....


Just got back in from a weekend jaunt up to Tyler.

About a month or so ago, I finally shamed Dad into buying a new pc system..the rest as they say, is history.

The PC

His XP system had been upgraded from ME, was running short on RAM, and had a dinky processor. Additionally, Windows Update and IE had become somewhat corrupted and despite my attempts at repairs...I had only managed to keep it working and secure, but not fixed. Next up would be an entire system reinstall from a bare disk.

So after a bit of email correspondence, I remote-controlled Dad's PC with him and we ended up ordering him a custom-built HP Pavilion a6000-series pc.

Since he plans to pick-up digital photo-editing as a hobby once he starts his 2nd retirement, I wanted to make sure it had enough beef to handle Photoshop or other such editing software.

We ended up with an AMD Athlon 2.6 GHz dual-core processor, 4GB of RAM, integrated sound and video, a 400GB HDD, and a multi flash-card reader. Oh, I foisted Vista Home Premium on him as well. He had already purchased a LG 19" flatscreen monitor that was pretty nice.

Preparation, Data-Transfer, and Tweaking

The unboxing and initial setup went very smoothly. I had a few nuisance applications and helper utilities to uninstall and remove from the autoruns, but not much. That was a very pleasant surprise. I could have used this helpful Windows Vista Migration Step-by-Step Guide which suggests both the Windows User State Migration Tool (USMT) as well as the Easy Transfer wizard. Or I could have tried out this new freeware tool: ForensiT - User Profile Transfer Wizard which I recently stumbled upon.

However, being a bit more experienced and knowing their files were scattered across the PC, I just used my 3G iPod as a USB drive and copied their personal files, email (Outlook) files, IE favorites/cookies, etc. over to it. Then once I had gotten their profiles set up on the Vista machine, I just copied their user files and fonts over and was done in pretty short order. I also went ahead and used TweakUAC to suppress the UAC elevation prompt requests...knowing that failing to do this would likely generate some remote-support calls from Tyler.

I left the default Windows Vista Firewall running in place. I am still waiting for Sunbelt or Comodo to release a final Vista version of their firewall even though I know there are other freeware Vista firewalls (ZoneAlarm, Webroot, PCTools and beta Vista Comodo firewall) out.

I set the Auto-Updates to download and install, set Windows Defender to run a daily scan, and finally, installed Grisoft AVG Free v7.5 and configured it as well.

Dad only wanted Microsoft Office 2003 Pro installed, which was an upgrade from MS Office XP they had been using. Easy enough to do. I got both their Outlook accounts and PAB/PST/Contacts brought over and working in short order as well. I also installed Mozilla Firefox for my own usage, they prefer IE7 which is fine I suppose, but I did turn on the phishing tool in it.

One of the things that irritates me about Vista is the size of the shortcut arrow on the icons. There are numerous Vista Tweaking Tools available, but I wanted a fast and easy solution. So I just went with the freeware utility Windows Vista Shortcut Overlay Remover (aka FxVisor). I downloaded it, installed it, ran it, and set the "light arrow" option. (I could have also gone with a custom arrow icon or none at all.) I logged off, and back on. Done.

Since Dad's wife isn't a techie, I ended up switching her profile to use a custom "Classic/XP" theme. Dad liked the new Vista theme. No problems so far.

It was running very fast and Dad and his wife were amazed at the difference. Everyone seemed happy.

Then a little issue came up.

The Screen Resolution Problem

Yes, the dreaded "screen resolution problem" reared its head quickly, and threatened to sabotage all my hard work and sink the beauty, grace and style of this quite-nice system.

See, Dad's wife likes to run the monitor at a 800x600 or 1024x768 display resolution.

When Dad got the new flatscreen he had it set to the max of 1280 x 1024 and was amazed at how sharp the display was comparatively to the lower resolutions he was used to using and just how much more useful the enhanced screen size was. Unfortunately that was way to "small" to please his wife who just wants to be able to read the email and web-texts very large. So he just went with what she wanted.

Lavie and I are lucky to both enjoy the best detailed screen resolutions so we don't have that issue and marital bliss still reigns in the Valca home.

I had hoped that Vista would allow me to set a different display resolution for both profiles, but alas, soon found out that didn't work.

What to do?

Well...the way I saw it,

  1. Dad could cope.

  2. Dad could manually go into the display properties and after several clicks deep, make the change to his preferred resolution, then go back before he logged off and fix the resolution back, or

  3. Have a brilliant son (me) come up with an easy and elegant solution...for free!

I figured I better go with number 3 since he treated me that night to an awesome super-sized Applebee's hamburger for dinner and chocolate mousse cups for dessert. So I mulled the problem over as I went to bed that night.

The Solution (XP/Vista)

I don't know any "native-to-Vista" way to allow different profiles to log in and automatically maintain different screen display resolutions. I did find some $ apps that claimed they could do this, but I am cheap and wanted something VERY easy with no configurations; just an easy way to toggle and switch between two different screen resolution settings for the display.

I had a hunch that night while chewing this over I could make a batch-file and maybe automate a registry setting change, but ended up with a slightly different fix.

I located a freeware utility ResSwitch & ResCopy v1.22 which works great on both XP and Vista. It is a command-line application that allows changes to be made on the screen depth and resolution. It is a miniscule-sized application (6K) and doesn't require installation.

  1. I just downloaded the zip file, and unpacked it into a shared "Public" folder.

  2. Next I made two shortcuts to the program and placed them on Dad's desktop.

  3. Then I edited the icon properies for each one as follows.

  4. For the first one I edited the target line of the icon's properties to read (after the path section) "ResSwitch.exe 800 600 32 60" then saved it. I then named it "Set M's display size".

  5. For the second one I edited the target line of the icon's properties to read (after the path section) "ResSwitch.exe 1280 1024 32 60" then saved it. I then named it "Set Dad's display size".

The first two numbers after the exe are for the display resolution values, the third number is the color-bit level (8, 24, 32), and the last is the refresh rate which I got from looking at the advanced display properties to see what the system was already using. That's it!

I clicked on M's and it instantly resized the display to 800x600 with no prompts or extra dialogs.

I clicked on Dad's and it instantly resized the display to 1280x1024 with no prompts or extra dialogs.

Now Dad just needs to click his icon to instantly set his display, then click M's when he is done and before he logs off.

On the drive home from Tyler to Houston, it struck me I probably could have made it even more simpler. Had I copied that shortcut into her "Startup" folder and Dad's into his "Startup" folder, it would have launched automatically when they logged in to their own profiles. But alas, I didn't do that.

Similar Alternatives

I was so pleased with ResSwitch that I didn't consider any other tools. But I later found some very similar ones when I did a bit more research upon getting home.

Resolution Changer (ResChange) - (freeware). Very similar but has a bit more command-line detail to use. See this post: ResChange 3.11 « Inspect My Gadget blog for an explanation of it in action.

Multires - (freeware for personal use) - Another similar program, but allows for system-tray icon settings as well as scripting-support.

Additional blog posts I found on this technique were:

The Aftermath

I also took an ImageX image of Dad's old-system's hard-drive and dropped the resulting WIM file onto his new pc.

We are going to secure-wipe his old-drive next-time I visit, until then it will be stored safely just-in-case I missed some data. Then they can donate it to their church.

However, with the ImageX image of his drive, I am going to load MS Virtual PC 2007 on his system, create a virtual drive, then put the image of his old drive into that virtual drive. My thought is with a 2.6 GHz processor, 4GB RAM and a 400GB drive, he has the muscle and space to run it. Then if we find he needs to use a program that wasn't reinstalled, or grab data that we missed, we can quickly and easily access it, right at hand. But that's a project setup for another day in Tyler.

(His new system uses SATA drives/connections and his old one is a ATA so I didn't have the time or patience to find/order the adapters or external drive enclosure to hook it up as a 2nd system drive...besides it sounded like a fun project to attempt.)

Until then, Dad and his wife are happy and blazing away on their new PC at warp-speed and I expect to have fewer troubleshooting calls for some time to come.

Mission accomplished!



Jim said...

I'm thinking my dad's next machine should be a Mac.

Anonymous said...

Easiest way:

gillardg said...

what about mine ??

it is also freeware And you can download the source code


Kyle said...

Funny enough.. I'm using Vista Ultimate x86. I share the computer with my father, on the rare occasion he wishes to play a game on it. His profile however is set at a much lower resolution despite me telling him he could easily set it to be more detailed. Not worth bothering in his mind, I suppose. But the point is that my desktop is 1280x800, and his is 800x600, and I've installed nothing extra to make this change. Vista just keeps track of it for us.

I actually stumbled upon this with a Google search looking for an easy solution to games auto-minimizing, and I ended up using Multires. Finally, I don't have to go to the control panel every time I want to play a round of Starcraft :D