2016-11-21 4 views
0

J'ai un programme C# qui s'exécute au démarrage via une entrée dans SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Au démarrage, il semble qu'il ne peut pas lire Whatever.exe.config (fichier de paramètres). Je suis conscient que le "répertoire courant" au démarrage est quelque part dans %windir%. Pour l'instant, j'essaye de charger le fichier de configuration en concaténant le nom du fichier de configuration et Application.ExecutablePath, mais je ne suis pas sûr de savoir comment implémenter cela.C# - Properties.Settings.Default au démarrage de Windows

Comment utiliser Properties.Settings.Default au démarrage de Windows?

EDIT: Je suis sur HKCU. J'utilise Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

Répondre

1

Ne chargez pas le fichier vous-même et laissez les chemins seuls!

Le mécanisme des paramètres Microsoft .NET le fait pour vous. Le fichier de paramètres sera automatiquement lu au démarrage de l'application. Et les paramètres de l'utilisateur seront lus à partir du profil de l'utilisateur.

Ce que vous n'avez pas dit, c'est si l'application démarre via l'entrée de registre d'un utilisateur (HKCU) ou via la machine (HKLM). Si vous avez des paramètres utilisateur, ils seront recherchés dans le répertoire de l'utilisateur actuel. Cela signifie que les choses peuvent ne pas fonctionner comme prévu lors de l'exécution de l'application sans connexion.

+0

Clarifié. Référez-vous à éditer. – pandalion98

+0

Eh bien, dans ce cas, .NET devrait tout faire correctement dès la sortie de la boîte sans vous tromper avec les chemins et charger le fichier de configuration manuellement. –