Driver corruption, a stuffed .DLL, even a hdd sector error (among MANY other things) can cause problems like these. I usually try to scan the system files to check for errors before I go through the laborious task of an OS reinstall:
1) open an elevated command prompt
2) type: SFC scannow /r (the switch "/r" will automatically repair any errors found
3) restart
The system might check out ok. If this is the case, and you have exhausted all other options, then yes, I'd go with the recommendation by Mr. Spacely
In the event the tool does find errors, it will replace the corrupted files, and in many cases, you'll be good to go.
Good Luck!