Программа C# win-startup в системный трей

Моя программа на C# настроена на запуск при запуске Windows, добавив ее в реестр Windows. Работает нормально, но вот моя проблема ...

Я хочу, чтобы программа запускалась в системном трее, но только тогда, когда она запускается автоматически Windows. Если пользователь дважды щелкает программу с рабочего стола, я не хочу, чтобы программа запускалась в системном трее. Прямо сейчас я могу либо сделать так, чтобы он всегда был открыт в обычном оконном режиме, либо всегда открывался в системном трее.

Есть ли способ определить, была ли моя программа запущена при запуске Windows? Или есть альтернатива этой проблеме?

Спасибо!

Ответов (2)

Добавить аргумент при запуске из реестра. Вы определенно можете сделать это с помощью пакетного сценария или, возможно, напрямую в реестре.

Вы увидите параметр в аргументе своей статической основной функции и сможете действовать соответствующим образом.

Я бы предложил использовать аргументы командной строки. Если пользователь дважды щелкает значок, программа должна запускаться примерно так: myProgram.exe / i, а если запускается с Windows, то должна запускаться что-то вроде myProgram.exe / w.

Вы можете анализировать аргументы командной строки в основной части вашей программы. Посмотреть здесь:

http://www.c-sharpcorner.com/UploadFile/mahesh/CmdLineArgs03212006232449PM/CmdLineArgs.aspx