En regle général, lorsque l'on désire ce genre de chose, on associe un fichier (plus ou moins facile d'acces au fouineur : nom, extension, cryptage etc ... mais tout ca c'est le marteau piqueur pour casser une noisette), dans lequel on mémorise le chemin d'accès de l'appli et des différents fichiers utiles.
Ton bouton n'a plus qu'à lire ce fichier pour savoir où il doit aller.
La deuxieme solution est la lecture de la base de registre.
Dors et déjà le chemin de cette clef est HKEY_LOCAL_MACHINE\SOFTWARE\
puis le nom de l'appli, pour finir généralement par une clef en InstallFile, ou PathToExe de valeur : le chemin de l'appli sur le dur.
Quant à savoir comment le lire : en C++ sous Borland, on fait habituellement une recherche par RegOpenKeyEx, qui ouvre une section du registre. RegQueryValueEx, qui lit le contenu d'une variable de cette section, puis RegCloseKey, qui ferme et update la section.
Pour chercher cette variable il y a (de mémoire, mais jamais utilisé) un RegSearchKeyEx.
La troisieme et moins bourrine :
creer ta propre clef a l'install sur le nouveau PC.
Là tu recherche sur le disque dur le nom de l'exe (une recherche arborescente est simple a faire faire, mais tu peux laisser le choix a l'utilisateur (style recherche manuelle ou auto)).
tu la mémorise dans la clef
a chaque plantage d'ouverture de l'exe, le bouton demande si l'utilisateur veut qu'il cherche lui meme l'exe, ou s'il sait où il se situe. Si l'user est une feignasse, le soft reparcours le HDD a sa recherche.
La fin est un update du registre avec la nouvelle adresse.
Voila voila.
Je ne sais pas si cela va t'avancer a grand chose mais bon.
|