Détecter si l'application est exécutée via autorun.inf ou double clic dans l'explorateur?
Question
i ont une application win32 api résidant sur un cd virtuel usb. Est-il possible de déterminer s'il a été exécuté par des fenêtres d'exécution autorun.inf ou par l'utilisateur double-cliquant sur l'icône du CD dans l'explorateur?
Merci ...
La solution
il n'y a aucun moyen direct de détecter qu'une demande a été exécutée à partir d'un autorun.inf
. les choses autorun lance l'application comme si elle a été lancée par l'utilisateur.
cependant, vous pouvez spécifier un argument de ligne de commande dans votre autorun.inf
, ce qui déclenchera un comportement spécifique dans votre application. cet argument de ligne de commande est récupéré normalement par argv
ou GetCommandLine()
.
Autres conseils
Je ne sais pas comment un double-clic travaux icône de CD, mais que diriez-vous détecter une ligne de commande utilisée dans le autorun.inf?
[autorun]
open=yourapp.exe /viainf
AFAIK, double-cliquez sur l'icône du CD dans l'Explorateur Windows lance simplement la chaîne de processus de démarrage automatique.
Comme il est censé fonctionner de cette façon et les gens attendent de se comporter comme cela, je laisse cette voie que pour un très bonne raison.