Мое приложение было запущено вручную?

Я разрабатываю приложение Forms, которое должно запускаться либо при загрузке Windows (путем регистрации ключа в реестре), либо фактическим пользователем.

Если пользователь запускает его вручную (т. Е. Щелкая исполняемый файл), я хочу, чтобы форма отображалась. В случае, если Windows вызвала событие, я хочу, чтобы приложение было скрыто (в панели задач).

Есть ли способ программно определить, какой из этих случаев произошел?


person fjdumont    schedule 27.11.2012    source источник
comment
Простое решение - это передача некоторого аргумента при запуске из автозапуска. Что-то вроде myapp.exe /hide   -  person CodesInChaos    schedule 27.11.2012


Ответы (3)


Я бы предложил добавить параметр командной строки, например -minimized, и передать его при запуске при загрузке.

См. этот поток, если вы ищу как читать аргументы.

person emartel    schedule 27.11.2012

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

person Flot2011    schedule 27.11.2012

Самый простой способ сделать это, о чем я могу думать, - это:

Когда вы регистрируетесь для запуска в Windows загрузке, передайте parameter (некоторое значение по умолчанию parameter), в случае, когда пользователь запустит его, параметр будет отсутствовать.

Таким образом вы сможете, в зависимости от наличия или отсутствия параметра, определить вариант запуска вашей программы.

person Tigran    schedule 27.11.2012