在我的程序中,我一直使用SHGetFolderPath
來獲取AppData路徑。不過,我需要獲取計算機上其他用戶的AppData路徑。我能想到的唯一方法是獲取當前用戶的路徑,然後用其他用戶名替換當前用戶的名稱。我不知道如何獲得用戶列表。有可能是一個更優雅的解決方案...如果你有洞察力,我將不勝感激。C++獲取其他用戶的appdata路徑
1
A
回答
1
對於你情我願提出以下建議:
繼續在應用程序數據存儲配置文件,但其存儲在CSIDL_COMMON_APPDATA(的SHGetFolderPath)。此AppData與所有用戶共享。您的安裝程序(或管理員用戶)可以在此位置設置一個文件夾,該文件夾以您的程序命名,使得「Everyone」可以完全訪問(Windows安裝程序非常簡單)。這樣,任何用戶都可以讀/寫它。 「程序文件」中的所有內容都不應改變。它應該只包含只讀可執行文件,DLL和其他此類資源。微軟長期以來一直不願意寫入這個位置,許多管理員不再期望遇到自定義用戶數據,這需要在Program Files中定期進行備份&恢復。
當您的軟件運行時,您可以檢查當前用戶的AppData中的數據(即由舊版本存儲),並將其與機器AppData中的數據合併(如上面的#1所述)。要爲用戶遷移數據,請以該用戶身份登錄並運行軟件。
真的沒有一個好方法,我知道從其他用戶配置文件收集所有數據。沒有任何Microsoft支持,那是(我知道!)。
關於程序文件中的數據存儲:http://msdn.microsoft.com/en-us/library/bb776776(VS.85).aspx「不要將用戶數據存儲在Program Files文件夾下。」還有很多其他的參考文獻都說類似。
相關問題
- 1. 在PowerShell中獲取%AppData%的路徑
- 2. 從其他ZF2模塊獲取路徑
- 3. 如何獲取應用程序的AppData VirtualStore路徑?
- 4. 從其他應用程序獲取文件的路徑
- 5. 獲取的類C#路徑
- 6. 使用其他用戶憑據從遠程路徑獲取文件到FileStream
- 7. 如何獲得%APPDATA%路徑C(Windows 7)中
- 8. 如何在delphi中獲取appdata文件夾路徑
- 9. 如何在C#中獲取給定用戶的AppData目錄?
- 10. 如何在C#中獲取Windows \ system32 \ config \ systemprofile \ AppData \ Local \文件夾路徑?
- 11. C - 獲取目錄路徑
- 12. Gradle獲取其他項目的jar文件路徑
- 13. 從任何其他目錄獲取joomla中的文件路徑
- 14. weibo獲取其他用戶的狀態?
- 15. 獲取其他用戶的位置
- 16. 如何獲取用戶路徑變量?
- 17. 獲取用戶目錄路徑
- 18. mono c#獲取應用程序路徑
- 19. 獲取重複路徑比較2路徑使用C#
- 20. 獲取用戶臨時文件夾路徑C++
- 21. 獲取應用程序appdata路徑沒有窗體命名空間
- 22. 從其他用戶獲取圖像
- 23. 從其他域獲取用戶AD組
- 24. Firebase Web - 從其他用戶獲取UID
- 25. 從其他用戶獲取rhythmbox信息
- 26. SKYPE4COMLib獲取其他用戶信息?
- 27. 獲取路徑
- 28. 獲取的路徑
- 29. C#設置。 appdata的路徑如何確定?
- 30. 從Windows服務獲取%APPDATA%[C++]
爲什麼你需要那個?您無權訪問這些文件夾,除非您使用完全權限運行(並且您需要有一個很好的藉口)。 –
我想不出有這樣做的好理由。聽起來不健全。 –
在我的程序的以前版本中,我在appdata中有配置文件。我將它移動到最新版本的Program Files中,以便所有用戶都可以共享這些保存。如果可能(如果當前用戶)有權利,我想爲所有用戶做到這一點。 – Lienau