Windows has a number of ways to start programs automatically. Unfortunately, it includes only a few ways to identify and control the programs that start automatically.
Windows will let you look at the Startup folder (Start / All Programs / Start). Unfortunately, very few programs put their startup commands in this folder because that makes it too easy to prevent them from auto-starting.
The second method is to examine the Windows Registry to see what programs Windows is set to automatically start. The tool for this, which is included with Windows, is REGEDIT.EXE. However, for most people, my advice is "don’t go there."
RegEdit is not very user friendly. Even more important, though, is that a mistake in RegEdit may prevent your Windows from starting up the next time you try to boot! Having said that, you can use RegEdit to examine the commands and data stored in the Registry by almost all programs.
The keywords for automatically-run programs are "Run" and "RunOnce." As implied, RunOnce means that the program should be run only one time — typically this is used by a program for its first reboot after installation. The Registry keys and their data for programs that Windows starts automatically can be found in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. Remember also that programs that Windows starts can, themselves, start other programs.
For most users, the tool of choice provided by Microsoft for identifying startup programs is called MSCONFIG.EXE. You start MSConfig by clicking on Start, then Run, typing "msconfig" (without the quotes) and pressing the Enter key.
Unless you are experienced, do not touch anything except the Startup tab. This tab will list all programs that are automatically starting (but not additional programs that those programs might start), whether they are in the Startup folder or starting because of commands in the Registry.
MSConfig will show you a title, the command being executed (including the path to the command on the hard drive, most of the time) and where the command is stored (Registry key or Startup folder).
The tool I like to use to identify startup programs is WinPatrol — check out my review of WinPatrol. WinPatrol has an easy-to-use interface for identifying the programs that start automatically, as well as capabilities to control them.