Я столкнулся с той же проблемой и нашел рабочее решение:
В вашем program.cs
обработайте параметр, а затем передайте этот параметр Form1
:
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (args.Length != 0){
Application.Run(new Form1(args[0]));
}
else
{
Application.Run(new Form1("normalState"));
}
}
В вашем Form1.cs
вы можете вызвать функцию с переданным параметром и свернуть приложение:
public Form1(string parameter)
{
InitializeComponent();
MinimizeApp(parameter);
}
Например, с этой функцией я использовал, если вы запускаете приложение с параметром -minimized, затем он начнет сворачиваться, на панели задач появится уведомление и всплывающее сообщение о том, что приложение запущено и работает в фоновом режиме.
public void MinimizeApp(string parameter)
{
if (parameter == "-minimized")
{
this.WindowState = FormWindowState.Minimized;
notifyIcon1.Visible = true;
notifyIcon1.BalloonTipText = "Program is started and running in the background...";
notifyIcon1.ShowBalloonTip(500);
Hide();
}
}