Собственно особых проблем с передачей параметров приложению при старте делается это в C# довольно просто, вот так:
static void Main( string[] args)
{
if (args.Length == 0)
{ MessageBox.Show("Нет параметров"); }
else
{ MessageBox.Show("1"); }
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormMain());
}
Проблема одна лишь в том, что в С# в рамках проекта может быть не один такой Main и чтобы было ясно какому из них должны быть переданы параметры, необходимо указать объект в: Project > Properties > Application > Startup Object.
Вот и всё!