Question

Je cherche un point de départ acceptable pour placer les paramètres d'application dans une machine Windows. J'ai plus d'une application. pour des raisons personnelles, je ne voudrais pas utiliser le Registre: Je préfère les fichiers d'initialisation de texte (de .ini). Je ne me sens pas aussi comme tenir les fichiers dans le même répertoire que les executables, la situation idéale me permet de les conserver dans un endroit générique où les utilisateurs ou les administrateurs système sont autorisés à écrire.

droite, je ne suis pas un utilisateur de Windows, ma première supposition serait $HOME/.my_company_name et /etc/my_company_name, mais est-il quelque chose sur le plan conceptuel équivalent à ces endroits dans Windows?

juste regarder dans la sortie SET et deviner:

%APPDATA%
%HOMEDRIVE%%HOMEPATH%\Local Settings
%SYSTEMROOT%

par le chemin: Je dois encore vérifier si ces variables existent toujours à partir d'un service Windows ...

Était-ce utile?

La solution

Je pense que AppData est ce que vous voulez.

Vous pouvez utiliser SHGetFolderPath (de shfolder.dll) pour obtenir ce programme.

De 'Gestion des données et paramètres' MSDN (voir la section 4.2 'données Classifier et application stocker correctement'):

TCHAR szAppData[MAX_PATH];
…
hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData);

Append [company name]\[product name]\[version] à szAppData en utilisant PathAppend :

PathAppend(szAppData, "Company\Product\1.0\File.ini")

Il est également CSIDL_COMMON_APPDATA pour des données spécifiques non-utilisateur et CSIDL_LOCAL_APPDATA pour les données non d'itinérance (données qui ne doivent pas être copiées sur le réseau lorsque l'utilisateur connecte à une autre machine).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top