I frequently suggest that people should use System Restore but every time I type that advice I'm thinking " . . .if the stupid thing will actually work!"
System Restore has a nasty habit of not working when you want it to. Before you give up on it though, try booting your PC into Safe Mode (by pressing the F8 key during the boot process) to see if System Restore will work from there.
If that doesn't work, you might need to do an 'on top' (or 'repair') installation of Windows. Such an installation doesn't require reformatting your disk and retains all of your programs and data. I've done it dozens of times with pre-XP version of Windows but (because I'm still using ME) I've not actually done it with XP and Vista. However there's no reason why it shouldn't work just as well.
Although I've stated that an 'on top' installation of Windows doesn't destroy any data, it would still be wise to back up as much as you can before trying it.
Detailed instructions for XP are here:
http://pcsupport.about.com/od/operatingsystems /ss/instxprepair1.htm
I know even less about Vista than I do about XP but it appears to have a useful repair feature built into it:
http://forum.worldstart.com/showthread.php?t=1 06114
Chris