Comme ci-dessus, comment puis-je obtenir le dossier Appdata dans Windows à l'aide de C? p>
Je sais que pour C # vous utilisez environnement.specialfolder.aplicationData code> p>
5 Réponses :
Si je me rappelle correctement, il devrait simplement être éditer: juste à double coché, fonctionne bien! P> P>
Utilisez plutôt l'API approprié, car les variables d'environnement sur Windows sont plus une courtoisie qu'un contrat. Ils pourraient ne pas être présents dans toutes les circonstances. Toutefois, shgedknowfolderpath code> i> vous donne le chemin à chaque fois.
Mais shgekkknessderderpath pourrait ne pas être disponible non plus. Biscuits difficiles.
@Hans: ShgetspecialfolderPath devrait être, cependant. En fonction des objectifs du système d'exploitation.
Utilisez ShgetspecialfolderPath avec un CSIDL défini sur le dossier souhaité (probablement csidl_appdata ou csidl_local_appdata ). p>
Vous pouvez également utiliser le nouveau shgetFolderPath () < / a> et shgetnonferferrer"> shgeknowfolderpath () fonctions. Il y a aussi shgetknowfolderdlist () et si vous aimez Com Il y a icellingfolder :: gepath () . p>
Notez que cette fonction a déjà été remplacée deux fois. Vous pourriez aussi bien donner les deux autres (y compris la fonction actuelle et recommandée).
@Joey - Je n'avais pas compris ça. Merci.
Vous pouvez utiliser Ces fonctions a >: comme: p>
Utilisez plutôt l'API approprié, car les variables d'environnement sur Windows sont plus une courtoisie qu'un contrat. Ils pourraient ne pas être présents dans toutes les circonstances. Toutefois, shgedknowfolderpath code> i> vous donne le chemin à chaque fois.
Il est utile de pouvoir remplacer les variables d'environnement à titre pertratif. Pourquoi dites-vous qu'ils sont "plus une courtoisie qu'un contrat"? Existe-t-il une documentation officielle ou quasi officielle à cet effet?
Utilisation du C'est ce que la méthode edit: strong> Joey souligne correctement que cela a été remplacé par shgekknownfolderpath dans Windows Vista. News pour moi: -). P> % AppData% code> La variable d'environnement fonctionnera probablement la plupart du temps. Toutefois, si vous voulez faire cela la manière de Windows officielle, vous devez utiliser Utiliser le
shgetfolderPath code> fonction
, passant la valeur CSIDL csidl_appdata code> ou
csidl_local_appdata code>, en fonction de vos besoins. p>
environnement.gefolderdpath () code> utilise dans .NET. P>
exemple code: csidl_appdata = nom d'utilisateur \ Données d'application. Dans la fenêtre 10 est: nom d'utilisateur \ appdata \ itinérance p> CSIDL_FLAG_CREATE = Combinez avec CSIDL_ VALEUR Pour forcer la création de dossiers dans ShgetFolderPath () P> Vous pouvez également utiliser: P> Csidl_local_appdata = nom d'utilisateur \ Paramètres locaux \ Données d'application (non itinérance) p> p>