La spécification d'un chemin d'accès relatif
J'ai un projet windows forms. Dans le répertoire courant, j'ai un dossier d'Aide avec *.les fichiers chm. Quel est le moyen le plus facile pour le lancement de l'application? Comment puis-je spécifier le chemin d'accès relatif à eux?
- Par répertoire "current" voulez-vous dire "travailler" répertoire ou "résident" du dossier?
- Je suppose qu'il est le répertoire de travail.
- essayez d'écrire le chemin "Aide" /"+nom de fichier
- C'est le nom du fichier. Comment puis-je lancer ce fichier?
- si en std programme: Processus.Start("Aide/123.chm");
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser l'Aide.ShowHelp pour ce faire
par défaut ShowHelp recherche de fichier dans le chemin de l'application
La De l'environnement.CurrentDirectory propriété est définie à l'emplacement de votre .exe fichier. Donc, si vous placez votre dossier d'aide à là, ça va être:
EDIT: je dois dire que
Environment.CurrentDirectory
pointe vers le dossier où le processus a commencé par défaut dans une application Windows Forms, mais sa valeur peut être modifiée par certains contrôles (comme leOpenFileDialog
- voir ici pour une solution de contournement) au cours de la durée de vie de votre application. En vertu d'un Service Windows,Environment.CurrentDirectory
cartes à la%SystemDirectory%
.Path.Combine
peut prendre > 2 paramètres, on pourrait simplement direPath.Combine(Environment.CurrentDirectory, "Help", "myHelpFile.chm")
Le plus simple est
Cela va ouvrir la
chm
fichier dans les systèmes de programme par défaut associée au type de fichier.Cela fonctionnera aussi longtemps que le fichier chm est situé dans le même répertoire que votre fichier exe. Si vous avez un sous-dossier appelé de l'aide, le chemin sera
@"Help\myHelpFile.chm"
.Je pense à deux options, selon ce que vous fait souhaitez. La première est d'obtenir le chemin d'accès à la résident répertoire (où l'exécution de fichiers en direct) et la seconde concerne la actuel répertoire (le répertoire spécifié pour le fichier exécutable de travailler à partir de):
Résident répertoire:
Répertoire courant:
Il y a aussi une autre option, qui, selon la documentation
gets the path for the executable file that started the application, not including the executable name
:Comme pour la construction de votre chemin, d'autres réponses portent très bien en effet.