You need to develop a different type of project: Windows Service. Visual Studio provides a template to develop those. I'm not sure if this is what you need: it will be invisible process which could communicate with other programs using remoting, WCF, etc. To debug this things, you may need to log some information to system event log, or attach debugger to already running process, way more difficult in comparison to debugging of a regular application.
Look at the list of services, run:
%SystemRoot%\system32\services.msc /s
It will show system applet "Services". You executable should run as one more item in the list. Click context menu on any item. This is where you can Start, Stop the service, etc. Select "Properties". What happens on system startup, depends on startup type. If it is manual, you will need to go to this applet and Start it, in Automatic, it will be started before the first login, as you want. No matter how started, it will keep running if you log out.
Good luck,
—SA