Try booting into Safe Mode and choose Last Known Good Configuration. This will start your computer using the configuration that worked successfully last time you started your computer.
Or you can see if you can actually log into Windows from Safe Mode. If so then you can try a System Restore to put your computer back to a state before you started having this problem.
You can also edit your startup items using MSconfig to make sure that there is nothing set to boot with your computer that shouldn't be. This could be causing your system to hang.