Определить, было ли приложение запущено через autorun.inf или двойной щелчок в проводнике? - PullRequest
3 голосов
/ 15 ноября 2010

У меня есть приложение Win32 API, находящееся на виртуальном диске USB. Можно ли определить, был ли он запущен windows, выполняющим autorun.inf, или пользователем, дважды щелкнув значок cd в проводнике?

Спасибо ...

Ответы [ 3 ]

2 голосов
/ 15 ноября 2010

нет прямого способа обнаружить, что приложение было запущено с autorun.inf.программа автозапуска запускает приложение, как если бы оно было запущено пользователем.

однако вы можете указать аргумент командной строки в вашем autorun.inf, который будет вызывать определенное поведение вваше приложение.этот аргумент командной строки обычно получается через argv или GetCommandLine().

1 голос
/ 15 ноября 2010

Afaik, двойной щелчок по значку компакт-диска в Windows Explorer просто запускает цепочку процессов автозапуска.

Поскольку он должен работать таким образом, и люди ожидают, что он будет вести себя так, я бы оставил этот путь только по очень веским причинам.

1 голос
/ 15 ноября 2010

Не уверен, как работает двойной щелчок на значке компакт-диска, но как насчет определения командной строки, используемой в autorun.inf?

[autorun] 
open=yourapp.exe /viainf
...