存储程序数据文件的正确位置是什么,这些文件对于每个用户都是相同的,但对于程序来说必须是可写的?MS Windows XP上的等效位置是什么?我读到C:\ProgramData在安装后不能被普通用户写入。这是真的吗?如何使用Platform SDK以编程方式检索该目录?
发布于 2008-09-25 14:09:17
SHGetFolderPath()和CSIDL_COMMON_APPDATA的CSIDL。
有关更多信息,请访问http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx
如果需要批处理文件中的路径,也可以使用%ALLUSERSPROFILE%环境变量。
发布于 2008-11-23 23:34:24
这里有不同选项的一个很好的总结:http://blogs.msdn.com/cjacks/archive/2008/02/05/where-should-i-write-program-data-instead-of-program-files.aspx
我应该在哪里写入程序数据而不是程序文件?
一个常见的应用程序代码更新是这样的:“我的应用程序过去常常将文件写到程序文件中。它感觉像是一个很好的放置它的地方。它已经有了我的应用程序的名称,而且因为我的用户是管理员,所以它工作得很好。但现在我发现,这可能不像我曾经认为的那样是一个很好的放置东西的地方,因为在UAC中,即使是管理员在大多数情况下也是以标准的类似用户的特权运行的。那么,我应该把我的文件放在哪里呢?”
发布于 2009-02-12 00:17:29
实际上,SHGetFolderPath已被弃用。
应该改用SHGetKnownFolderPath。
https://stackoverflow.com/questions/131666
复制相似问题