什麼地方存儲的程序數據文件對每個用戶都是一樣的,但必須是可寫入的程序? MS Windows XP上的等效位置是什麼?我讀過C:\ ProgramData在普通用戶安裝後不可寫入。真的嗎?我如何使用Platform SDK以編程方式檢索該目錄?Vista和ProgramData
回答
SHGetFolderPath()與CSIDL的CSIDL_COMMON_APPDATA。
在http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx
更多如果您需要在批處理文件的路徑,你也可以使用%ALLUSERSPROFILE%環境變量。
您可以使用:
CString strPath;
::SHGetSpecialFolderPath(NULL, strPath.GetBuffer(1024), CSIDL_COMMON_APPDATA, FALSE);
見Raymond Chen's article on this specific question。
總之,您要求安全漏洞。
該應用程序不會被管理員使用,並且每個可以登錄到計算機的人都可信在我們正在處理的公司中。因此,在用戶之間共享數據不是一個安全問題。在Vista上,可以在公用文件夾中共享圖片和電影。 Progams也應該有這個。 – frast 2008-09-25 11:47:08
還有就是這裏的不同選項的大彙總:http://blogs.msdn.com/cjacks/archive/2008/02/05/where-should-i-write-program-data-instead-of-program-files.aspx
我在哪裏應該寫程序數據 相反的程序文件?
常見的應用程序代碼更新 這樣的:「我以前寫 文件,程序文件的應用程序這感覺就像 良好的地方把它作爲任何 其他它有我的應用程序的名稱上 它了。 ,因爲我的網友們 管理員,它工作得很好。但是現在我看到 這可能不是那麼大的地方 堅持的東西,因爲我曾經以爲, 因爲與UAC甚至管理員 運行與標準用戶享有特權 大部分時間。那麼,我應該在哪裏 把我的文件呢?「
實際上SHGetFolderPath
已被棄用。
SHGetKnownFolderPath
應改爲使用。
- 1. Vista ProgramData文件夾中缺少文件
- 2. 在「ProgramData」文件夾(W7和Vista)中編寫.NET
- 3. 爲什麼虛擬化在MS Vista中的ProgramData文件夾?
- 4. NLOG ProgramData路徑
- 5. Vista和Cookies
- 6. WebBrowser,flash和Vista
- 7. ProgramData和AppData有什麼不同?
- 8. SqlServerCe寫入C:\ ProgramData
- 9. 我無法在%ProgramData中找到我的MySQL文件夾%ProgramData%
- 10. Vista和Oracle 10g中
- 11. 透明鍵和Vista
- 12. InstallShield無法複製到ProgramData
- 13. 嘗試訪問C:\ ProgramData
- 14. .NET的ClickOnce和Vista啓動
- 15. Jammit,mhtml和Vista IE7 bug
- 16. 德爾福7和Windows Vista
- 17. 當在Vista上訪問ProgramData時出現DirectoryNotFoundException - 找不到路徑的一部分 - WinIOError
- 18. 什麼是Programdata/Application Data文件夾?
- 19. Win32函數獲取路徑到C:\ ProgramData
- 20. 遠景programdata命令行訪問
- 21. c:\ ProgramData中的安全違規問題?
- 22. 如何使用QStandardPaths獲得「ProgramData」路徑
- 23. IPC在Vista(服務和應用程序)
- 24. WPF能在XP和Vista上運行嗎?
- 25. Windows XP和Windows Vista上的IE 6/7
- 26. 安裝需要區分Vista和XP
- 27. VISTA/Win7的低音和高音音量
- 28. DAO 3.6和Win7/Vista UAC問題
- 29. Vista UAC,訪問海拔和.Net
- 30. WebProxy和Vista上的身份驗證
我相信這實際上是%ALLUSERSPROFILE%,S – 2009-05-03 21:53:23
錯誤,是的,這是正確的,我錯過了S. :-) – 2009-05-05 20:23:27