什么地方存储的程序数据文件对每个用户都是一样的,但必须是可写入的程序? 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