Dans une application que je développe (en C), une application de chargement doit d'abord être exécutée avant que l'application principale ne soit exécutée. J'ai fait en sorte que l'application principale exécute l'application Loader comme un enfant quand il est lancé afin d'automatiser cette tâche. Tout cela fonctionne bien, sauf que l'application loader ne doit être exécutée qu'une seule fois pendant la session de connexion actuelle de l'utilisateur pour que l'application principale fonctionne correctement, et avoir à l'exécuter chaque fois que l'application principale s'exécute est une réelle douleur. Donc ce que je demande est: est-il un moyen de vérifier si le chargeur a déjà été exécuté en utilisant des fonctionnalités Windows ou C? Idéalement quelque chose comme ça serait génial, même si je ne sais pas s'il est même possible:Comment vérifier si un programme a déjà été exécuté pendant la session de connexion en cours? (Windows)
if(thisapp.exe hasBeenExecuted)
return;
else
spawnl(app_path, app_name, args, NULL);
Ou peut-être quelque chose comme ayant l'application principale de créer un fichier fictif qui agit comme un drapeau lorsque le chargeur est exécuté. Ensuite, lors des exécutions suivantes, vérifiez si le fichier existe et exécutez le chargeur si ce n'est pas le cas. Le seul problème avec cela est l'automatisation de sorte que le fichier fictif est effacé lorsque l'ordinateur est éteint (existe-t-il un moyen de le faire?).
Quelques précisions: Je ne peux pas éditer l'application loader ou répliquer ses fonctionnalités dans l'application principale, je ne l'ai pas écrite.
Merci à l'avance pour toute aide
Cela a fonctionné parfaitement, merci! Cela fonctionne bien dans Windows XP, mais savez-vous si la fonctionnalité est altérée dans toutes les autres distributions Windows? –
Je suppose que les choses win32 seraient les mêmes pour NT à la hausse. Il y avait des trucs atomiques jusqu'à Win 3.x mais je ne me souviens pas s'il y avait des paramètres différents ou pas. Essayez ceci (devrait toujours fonctionner sous XP tel quel) http://ghirai.com/hutch/files/win32hlp_big.zip –