Here are two things you can try, to test and maybe fix the computer:
1. Shut the computer off. Remove the battery and unplug everything from it. Then remove the CMOS battery. Test the CMOS battery to see if it is low or dead; if so, replace it. After allowing half an hour for all power to completely dissipate from the computer (doing this totally resets the computer), reinstall the CMOS battery, then the main battery. Then plug everything back into the computer. Now power the computer on, to see if resetting it in this way has fixed the problem.
2. Boot with a Linux Live DVD, to see if the problem exists when you are in Linux. If the problem does not exist when you are in Linux, then it is either a Windows issue or a hard drive issue (you won't be using your hard drive while in Linux Live, so the hard drive won't be tested by doing this; so you won't know for sure if it's the hard drive or not.)
If it's a Windows issue, you could try doing a restore point, if you can recall when the problem started. You will do the newest restore point which was created before the problem started. If a restore point doesn't fix it, then you can either reinstall Windows or restore a good backup.