Just place a shortcut to your windows application in the Startup folder.
it is something like: "C:\Users\[Username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
I have never ever created a shortcut myself, but a quick google gave me this code snippet
private void appShortcutToDesktop(string linkName)
{
string deskDir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
using (StreamWriter writer = new StreamWriter(deskDir + "\\"" + linkName + ".url"))
{
string app = System.Reflection.Assembly.GetExecutingAssembly().Location;
writer.WriteLine("[InternetShortcut]");
writer.WriteLine("URL=file: writer.WriteLine("IconIndex=0");
string icon = app.Replace('\\', '/');
writer.WriteLine("IconFile=" + icon);
writer.Flush();
}
}