On each program you don't want to start automatically, check its Options
to see if it has the choice not to start (make sure you actually choose
the option not to run it, not just a "don't show icon" option). Many can
easily and best be stopped that way. If that doesn't work, run MSCONFIG
from the Start | Run line, and on the Startup tab, uncheck the programs
you don't want to start automatically.
However, if I were you, I wouldn't do this just for the purpose of running
the minimum number of programs. Despite what many people tell you, you
should be concerned, not with how *many* of these programs you run, but
*which*. Some of them can hurt performance severely, but others have no
effect on performance.
Don't just stop programs from running willy-nilly. What you should do is
determine what each program is, what its value is to you, and what the
cost in performance is of its running all the time. You can get more
information about these at
http://castlecops.com/StartupList.html. If you
can't find it there, try google searches and ask about specifics here.
Once you have that information, you can make an intelligent informed
decision about what you want to keep and what you want to get rid of.