1. It might just be a corrupt file or two.
2. It might be your hard drive corrupting the file or two.
The first step would be to force a chkdsk, this can be done from inside the windows startup mode. Instead of selecting 'install' you'd select 'repair' or 'troubleshooting' depending on the version of windows.
You can also use an option called 'startup repair' once you're loaded inside the windows setup.
The other side of the issue is the hard drive is going. Yes, you can replace it, but with that you risk loosing all your data. Yes, it can be saved too as long as the drive isn't to far gone, or you're willing to put out $400 or more to rescue it.
I recently replaced a customers hard drive. It had a similar problem. Refused to boot, refused to 'startup repair'. This is when we put a new drive in, CLONED the system over to the new drive (it actually takes each sector/bit and makes a exact copy. Need same size or larger drive as a replacement).
After I replaced the drive, it booted quickly with a simple "startup repair" being run.