Pour répondre à votre question: vous ne pouvez pas connaître le chemin simplement en connaissant le nom. Un exe peut résider n'importe où sur le système de fichiers. Il peut y avoir plusieurs instances qui ne se connaissent pas. Les fichiers exe multiples qui sont complètement différents peuvent avoir le même nom.
Vous pouvez prendre l'une de plusieurs approches pour contourner ce, en fonction de l'exe que vous ciblez:
- obtenir l'utilisateur pour rechercher le exe en utilisant un fichier normal de dialogue Parcourir
- rechercher le fichier système
- voir quelles traces l'exe cible laisse sur le système (système de fichiers, le registre, les variables d'environnement, etc.) et d'utiliser ces traces pour localiser l'exe
pour soit o Pour ces options, vous enregistrez le résultat afin de ne pas devoir l'exécuter à nouveau lorsque votre application est exécutée la prochaine fois.
La recherche du système de fichiers peut prendre un certain temps, vous n'êtes pas sûr de trouver l'exe (selon le niveau d'utilisateur de votre application) et vous pouvez obtenir des faux positifs, surtout si l'application s'appelle quelque chose comme .exe. Obtenir l'utilisateur pour localiser l'exe la première fois que vous exécutez est probablement le moyen le plus fiable de le localiser, mais alors vous devez décider quoi faire si votre application s'exécute mais que l'exe cible n'est plus à l'emplacement spécifié ou l'utilisateur a choisi le mauvais exe. Si vous avez un certain contrôle sur l'application B (c'est-à-dire votre produit), vous pouvez ajouter des informations à un emplacement connu du registre lorsque l'application B est installée, afin que l'application A puisse la localiser facilement. Vous devez toujours avoir un plan B si l'information est manquante.
Vous ne pouvez pas mettre le chemin d'accès à B dans un paramètre de configuration pour l'application A? – Amy
Cela fonctionnerait, y aurait-il une solution plus propre? et par nettoyeur, je veux dire quelque chose qui ne nécessiterait pas de changements à l'application A si l'emplacement de l'application B change. Merci pour le commentaire. – dnndeveloper
Mettre le chemin dans le paramètre de configuration ne nécessiterait pas de modifier l'application A lorsque l'application B se déplace. Tout ce que vous avez à faire est de modifier le fichier ApplicationA.exe.config. Aucune recompilation ne serait nécessaire. –