I've seen this before. Did it start after you installed a new piece of software? If it did, then chances are that the new software replaced some core DLLs with older.incompatible versions. The most commonly replaced DLLs are the Microsoft C run time libraries. To correct problems with these libraries, refer to Microsoft's web site, download and install the most currect version. Last time I looked, it was a file named "SPEU.EXE" Be sure to reboot after installing this patch, even though the install doesn't tell you to do so. If that doesn't work, then go back to Microsoft and get REGCLEAN. After you install REGCLEAN, run it multiple times until the "Fix Errors" button is no longer active. Then reboot and run it again!
There are some other things that might be causing your problem, but these are the most common fixes.
Hope it helps!