Windows has an in-built utility called as the msconfig utility which, inter alia, list the programs which start up along with your Windows. There are several other software available too, which list down, to varying degrees, the programs which start up.
HoweverAutostart Explorer provides an exhaustive list of the locations, which are used by start up programs.
Autostart Explorer is a powerful application that lists all auto-started files on your system. Unlike other similar utilities, which may list auto-started files from only certain locations such as the registry Run keys, Autostart Explorer has been designed to show every auto-started file on your system, no matter how obscure the location it is started from.
Moreoverit also gives you some information about the locations, as a result of which you can a learn a lot too!
For instance win.ini is a start-up location. So what is win.ini? “The win.ini file contains the configuration entries “run=” and “load=”. Executables listed under these entries are started each time Windows starts.”
Feel inclined to check it out? Head over to its download page.
UPDATE: Check out SysInternals Autoruns too.