In the 'All Programs' menu of Windows XP, there is the 'Startup' submenu/folder where you can put (drag'n'drop) programs that you wish to start automatically when you log on to Windows. However, if you have a lot of programs there, it will substantially slow down your computer when you log on forcing you to wait for several minutes before you can do anything useful. To avoid this, you can set the different programs to start after a certain number of seconds so that the least frequently used programs can be started last, say, after 5 minutes.
How to do it
There are a few applications out there that allows you to control the startup process (including the startup of applications not in the Startup folder).
The one I've been using for a few weeks now is freeware 'Startup Delayer' by Australian r2 Studios (screenshot to the right). It allows you to set the delay for each of the applications started with Windows. It also has a panel displaying the time line of the startup process.
Other "no-cost" solutions I bumped into but haven't tried are: Startup Delayer by Jockersoft.com, R4U Soft Start.UP Organizer by R4U Soft, Ss Startup Manager by Ss-Tools, and Startup Optimizer by Cyberlion Solutions.