Verifier que le programme executé est au bon endrois
XKaliBur
Messages postés45Date d'inscriptionvendredi 20 février 2004StatutMembreDernière intervention13 février 2007
-
14 août 2005 à 18:24
magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011
-
15 août 2005 à 03:31
Voila le bout de code suivant :
/* Verification du bon fichier */
char copy[500];
char current_long_path[500];
char current_short_path[500];
char destination_path[] = "c:\\mon_fichier.exe";
GetModuleFileName(NULL,
current_long_path,
500); /* le chemin complet */
GetShortPathName(current_long_path,
current_short_path,
500); /* transforme le chemin complet en version short (98) */
if(destination_path != current_long_path) {
/* verifie que c'est bien le bon exe qui est en cours d'execution */
ShellExecute(hwnd,
NULL,
destination_path,
NULL,
NULL,
SW_NORMAL); /* exec du programme */
return 0; /* fermeture de ce programme */
}
}
Ce code permet de vérifier si l'exe existe bien à l'endroit indiqué,
s'il existe pas il ce copie de lui même et ferme la mauvaise fenêtre
pour relancer la bonne. Si il existe alors il vérifie si c'est bien cet
exe qui est lancé et si non il ferme le mauvais pour lancer le bon.
Mais le problème c'est que la fenêtre souvre et ce ferme a l'infini, j'ai beau chercher je trouve pas mon erreur.
La partie "/* fichier inexistant */" marche très bien lorsque je
supprime la partie "/* fichier existant */" mais après ce n'est pas le
cas.
Merci d'avance.
A voir également:
Verifier que le programme executé est au bon endrois
Même si la façon que j'utilise est beaucoup moins propre que
la tienne ça marche pour vérifier que le fichier existe ou non. Mon problème
c'est surtout lorsqu'il vérifie si le fichier exécuter est celui qui est dans
c:\monfichier.exe.
A moins que j'ai mal compris ton poste. Et puis dernière petite question pourquoi le mélange
cémal ?
l'a tué, ça aurait été autre choses ça serait passé
(mais c'est au minimum du C++ ds ce cas)
sinon, pr continuer comme BN
y a des doués, bons à tout; des bons à rien
et même des
mauvais à tout.
[Pagnol - Fany:"Il n'est pas bon à rien, il est mauvais à tout..."]