Как определить, программа запущена автостартом или по клику?

m52
Дата: 28.05.2011 20:52:21
Здравствуйте!

Мне в самой программе нужно определить, каким из способом была запущена программа
1) клик пользователем
или
2) Автозапуском HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Как вариант, я могу в автозапуск прописать запуск ПО с параметром, а в программе анализировать параметр, но возможно есть еще способ проще - проверить без доп.параметра?

Заранее благодарен.
xen2
Дата: 28.05.2011 21:01:16
дык ключи автозапуска реестра программой проанализировать
Newser
Дата: 28.05.2011 21:20:47
Я в этом не разбираюсь - но просто идея ;)
А можно узанть сколько времени работает программа? - Windows фиксирует это где нибудь? А то можно было бы сравнивать время работы windows и твоей программы! Если автозапуск - время приблизительно равно )
Edd.Dragon
Дата: 28.05.2011 21:55:11
m52,

Параметром проще всего.
Нелояльный
Дата: 28.05.2011 22:16:26
В первом (если пользователь кликает в проводнике или на ярлык) и втором случаях родительским процессом будет explorer.exe, поэтому программы, запущенные такими способами фактически неотличимы. Вот если бы программа стартовалась, например, планировщиком...
m52
Дата: 29.05.2011 06:54:00
Кстати верно, можно определить по родительскому процессу. Но наверное это сложнее, чем ввести параметр запуска.
Anatoly Podgoretsky
Дата: 29.05.2011 07:38:34
Легче сделать неверный вывод.
Edd.Dragon
Дата: 29.05.2011 10:42:44
m52
Кстати верно, можно определить по родительскому процессу. Но наверное это сложнее, чем ввести параметр запуска.

Сказали ж выше - родитель в обоих случаях explorer.exe. ЧТо ты определишь по этому?
m52
Дата: 29.05.2011 14:24:16
Для меня не важно, по ярлыку кликнул юзер или в проводнике. Главное, что это юзер кликнул, а не автостартом запущенная программа. Ладно, сделаю параметром. Спасибо всем.
andreymx
Дата: 29.05.2011 14:34:07
m52
Для меня не важно, по ярлыку кликнул юзер или в проводнике. Главное, что это юзер кликнул, а не автостартом запущенная программа. Ладно, сделаю параметром. Спасибо всем.
а если юзер поменяет параметры автостарта?