It could be a number of things causing the problem. A few things to try though.
1.) Boot to a command prompt. type "scanreg /fix" withou the quotes and press enter. This will scan your registry for errors and fix any it finds.
2.) type "scanreg /restore" Choose a date prior to the problem starting. This will replace your registry with a backup copy from that date.
3.) type "sfc". This will run the System File Checker and will scan your system files for corrupt or damaged files. I'm notsure if this works from the command prompt, but I think it does.
If that fails, I would try reinstalling Windows over itself. That will replace all the system files, but still use your registry settings so you wont have to reinstall everything.
Good luck and hope this helps