C# gestion des Fichiers: Créer un fichier dans le répertoire où le fichier exécutable existe
Je suis entrain de créer une application autonome qui sera distribué à de nombreux utilisateurs. Maintenant, chacun peut placer l'exécutable dans des endroits différents sur leurs machines.
Je souhaite créer un nouveau fichier dans le répertoire de l'exécutable a été exécuté. Donc, si l'utilisateur a son exécutable :
C:\exefile\
Le fichier est créé il y a, toutefois, si l'utilisateur enregistre le fichier exécutable:
C:\Users\%Username%\files\
le nouveau fichier doit être créé.
Je ne veux pas coder en dur le chemin dans ma demande, mais d'identifier où l'exécutable existe et créer le fichier dans ce dossier. Comment puis-je y parvenir?
Cela se fait par défaut avec l'application autonome.
L'utilisateur peut choisir de placer le fichier dans un emplacement qui nécessite une élévation de l'accès, ou peut-être placer sur un système en lecture seule. Cette même altitude ne sont pas nécessairement se produire lorsque votre programme s'exécute. Il serait préférable de placer tous les fichiers que vous créez dans le partie appropriée du système de fichiers.
Utilisation
Vrai. J'avais oublié de considérer que. Tigran est la solution intègre ce que vous suggérez. Merci! Et merci pour ce pdf. Assez utile!
L'utilisateur peut choisir de placer le fichier dans un emplacement qui nécessite une élévation de l'accès, ou peut-être placer sur un système en lecture seule. Cette même altitude ne sont pas nécessairement se produire lorsque votre programme s'exécute. Il serait préférable de placer tous les fichiers que vous créez dans le partie appropriée du système de fichiers.
Utilisation
IsolatedStorage
plutôt...vous serait en mesure d'accéder à que, même avec la plus faible des autorisationsVrai. J'avais oublié de considérer que. Tigran est la solution intègre ce que vous suggérez. Merci! Et merci pour ce pdf. Assez utile!
OriginalL'auteur darnir | 2012-08-15
Vous devez vous connecter pour publier un commentaire.
Jamais créer un fichier dans le répertoire où le fichier exécutable séjours. Surtout avec les derniers Systèmes d'exploitation disponibles sur le marché, vous pouvez facilement sauter dans les questions de sécurité, sur la création de fichiers.
Afin de garantie le fichier de processus de création, afin que vos données persistancy trop, utilisez ce code:
Cela va générer un chemin comme C:\Documents and Settings\%NOM d'UTILISATEUR%\Application Data\fichiers dossier, où vous garanti d'avoir une autorisation d'écrire.
OriginalL'auteur Tigran
Suffit d'utiliser
Fichier.Créer
:Cela va créer le fichier à l'intérieur de votre programme exécutable sans spécifier le chemin d'accès complet.
Vous avez raison, mais si l'OP a été en mesure de changer le dossier courant, il n'a jamais pose cette question.
Il pourrait se produire par certains lib. Même en utilisant un FileDialog je pense.
Si l'utilisateur a l'invite de commande, et qui est, disons,
c:\otherdir
, et exécute "c:\exefile\my.exe", il va créer le fichier dansc:\otherdir
, pasc:\exefile
.OriginalL'auteur Saeed Amiri
Vous pouvez obtenir le chemin complet vers votre nouveau fichier avec:
OriginalL'auteur Steve Smith
http://msdn.microsoft.com/en-us/library/aa457089.aspx
OriginalL'auteur bizl