Dans mon programme, j'ai utilisé SHGetFolderPath
pour obtenir le chemin AppData. Cependant, j'ai besoin d'obtenir le chemin AppData des autres utilisateurs sur l'ordinateur. La seule façon que je peux penser à le faire est d'obtenir le chemin pour l'utilisateur actuel, puis remplacer le nom de l'utilisateur actuel avec les noms des autres utilisateurs. Je ne sais pas comment obtenir une liste des utilisateurs. Il y a probablement une solution beaucoup plus élégante aussi ... Si vous avez un aperçu je l'apprécierais grandement.C++ get appdata chemin des autres utilisateurs
Répondre
Pour votre situation, je recommande ce qui suit:
Continuer les fichiers de configuration du magasin dans AppData, mais le stocker dans CSIDL_COMMON_APPDATA (SHGetFolderPath). Cette AppData est partagée avec tous les utilisateurs. Votre programme d'installation (ou un utilisateur administrateur) peut configurer un dossier à cet emplacement nommé d'après votre programme qui donne un accès complet à "Tout le monde" (c'est très facile avec Windows Installer). De cette façon, n'importe quel utilisateur peut lire/écrire dessus. Tout dans "Program Files" ne devrait jamais changer. Il ne doit contenir que des exécutables en lecture seule, des DLL et d'autres ressources de ce type. Microsoft a longtemps découragé l'écriture à cet emplacement et de nombreux administrateurs ne s'attendent plus à rencontrer des données utilisateur personnalisées qui nécessitent une sauvegarde régulière & dans Program Files. Lorsque votre logiciel s'exécute, vous pouvez vérifier les données dans l'AppData de l'utilisateur actuel (c'est-à-dire stocké par votre ancienne version) et les fusionner avec les données dans AppData de la machine (décrit par # 1 ci-dessus). Pour migrer les données de l'utilisateur, connectez-vous en tant qu'utilisateur et exécutez votre logiciel.
Il n'y a vraiment pas de bonne façon de rassembler toutes ces données provenant d'autres profils utilisateur. Rien soutenu par Microsoft, c'est (que je suis au courant!). En ce qui concerne le stockage des données dans les fichiers programmes: http://msdn.microsoft.com/en-us/library/bb776776(VS.85).aspx "Ne pas stocker les données utilisateur dans le dossier Program Files." Il y a beaucoup d'autres références qui disent similaires.
- 1. Problème d'écriture pour les utilisateurs Répertoire AppData
- 2. Get MotionEvent.getRawX/getRawY des autres pointeurs
- 3. Get Valeur des autres cellules DataGrid WPF
- 4. Obtenir le chemin du dossier temporaire des utilisateurs C++
- 5. C# Get chemin URL du répertoire local
- 6. Appdata dans non-Windows
- 7. ASP.net Get chemin
- 8. Détecter l'emplacement de AppData \ LocalLow
- 9. Comment obtenir le dossier% AppData% en C?
- 10. C# Chemin Compression Problème
- 11. Installation de fichiers dans les utilisateurs Dossier AppData utilisant inno-setup
- 12. Carte iPhone: Emplacement des utilisateurs distinguant des autres broches
- 13. delphi get chemin du dossier
- 14. C# comment spécifier le chemin du fichier appData dans le fichier app.config
- 15. Get File par chemin
- 16. Get Twitter Utilisateurs avec un hashtag spécifique
- 17. Comment obtenir le répertoire AppData d'un utilisateur donné en C#?
- 18. Créer des associations pour les autres utilisateurs de Favoris des utilisateurs
- 19. Get fonction de chemin d'importation
- 20. Récupérer des tables de "Autres utilisateurs" dans nHibernate
- 21. utilisateur connecté peut accéder aux données des autres utilisateurs
- 22. Autres Nancy.Testing.Browser GET/PUT/POST/SUPPRIMER
- 23. Get Filtered Liste des utilisateurs utilisant l'authentification par formulaire
- 24. avec la plupart des utilisateurs Get upvotes de Data Explorer
- 25. nsIFile: Comment obtenir le chemin d'accès au dossier Vista AppData/LocalLow?
- 26. Quels sont les répertoires autres que le dossier temporaire (dans appdata)?
- 27. Comment faire pour créer un dossier appdata avec C#
- 28. npm ERR! Erreur: UNKNOWN, ouvrez 'C: \ Utilisateurs \ Ahsan Hussain \ AppData \ Roaming \ npm-cache \ chalk \ 0.5.1 \ paquet \ paquet.json'
- 29. Comment enregistrer user.config dans le dossier AppData \ Roaming au lieu de AppData \ Local?
- 30. C/C++/C# SetWindowPos: Fenêtre sur le dessus des autres
Pourquoi avez-vous besoin de ça? Vous n'avez pas accès à ces dossiers, sauf si vous utilisez tous les privilèges (et vous devez avoir une bonne excuse pour cela). –
Je ne peux pas penser à une bonne raison de le faire. Cela ne semble pas très robuste. –
Dans les versions précédentes de mon programme, j'avais le fichier de configuration dans l'appdata. Je le déplace dans Program Files dans la nouvelle version afin que tous les utilisateurs puissent partager les sauvegardes. Si possible (si l'utilisateur actuel) a les droits, je voudrais le faire pour tous les utilisateurs. – Lienau