В вашем решении должен быть файл Program.cs, который содержит:
static void Main()
{
}
Вы заметите, что в этом методе есть что-то вроде:
Application.Run(new Form1());
Здесь ваша форма фактически запускается, поэтому вы можете изменить Main()
на что-то вроде этого:
static void Main(string[] args)
{
if(args.Length < 1)
{
Application.Run(new Form1());
return;
}
else
{
// Handle your command line arguments and do work
}
}
Так что, если ваша программа вызывается без аргументов командной строки, форма Windows открывается и делает свое дело. В противном случае вы делаете то, что вам нужно, через командную строку и выходите, даже не показывая форму.