I was having an issue with my Windows XP laptop, where I would change the screen resolution under settings, but everytime I re-booted it would start up in the correct resolution, and then about 30 seconds after boot, it would switch back to the old resolution. It was very annoying because I had to reset the resolution every day, and it used to work correctly for three years prior to this.
After searching the internet, I did come across several posts about checking registry settings. So I checked all the registry settings and they were all correct. This stumped me for few months and then one day while checking the programs that Startup at boot time I noticed NvCpl (NVIDIA Control Panel) and realized that I had found the source of my woes!
The problem was that I was using Windows Settings to change the resolution, but at some point I had also used NVIDIA Control Panel to change the resolution, so once NVIDIA started up, it was changing the resolution back to the old setting.
HOW TO FIX IT:
In order to fix it, I had to remove NVIDIA from the list of Startup programs. There are two programs that need to be removed. They are:
NvCpl RUNDLL.EXE C:\WINDOWS\system32\nvcpl.dll,NvStartup
RunDLL32 RUNDLL.EXE NcMCTray.dll,NvTaskBarInit
In Windows XP choose Start then Run then type
In Windows Vista or Windows 7 choose Start then type
msconfig in the SEARCH box.
Now choose the Startup tab, and look for the two items mentioned above and uncheck them.
Press OK and then you can Restart Now or Restart later.
Your screen resolution should now be fixed!