Windows 7 中的全局文件夹
我想允许所有用户通过我的应用程序读取和写入文件。该文件对所有用户都是通用的。我应该将该文件放在 Windows 7 中的哪里?
I want to allow all users to read and write in a file, through my application. The file is common to all users. Where should I put that file in Windows 7?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用已知文件夹。
如果用户不需要查看文件,您可以使用:
FOLDERID_ProgramData - 默认位置为“c:\ProgramData”。
如果用户需要能够浏览并查找该文件,则可以使用“公共”用户。 FOLDERID_Public 或 FOLDERID_PublicDocuments。默认为“c:\users\Public*”
您可以检查所有标准已知文件夹的列表,看看是否有更适合您的内容。此页面具有相同的列表,其中包含关于如何进行的友好描述应该使用它们。
使用函数 SHGetKnownFolderPath 获取当前系统上的路径。不要假设默认值是有效的。
如果您需要在 Windows XP 上运行它,请使用前面的函数 SHGetFolderPath 和等效的 CSIDL。
You can use the Known Folders.
If users don't need to see the files the you can use:
FOLDERID_ProgramData - default location will be "c:\ProgramData"
If the user needs to be able to browse and find the file then the "Public" user can be used. Either FOLDERID_Public or FOLDERID_PublicDocuments. That will default to "c:\users\Public*"
You can check the list of all the standard Known Folders to see if there is anything that would work better for you. This page has the same list with friendly descriptions on how they should be used.
Use the function SHGetKnownFolderPath to get the path on the current system. Don't assume the default values are valid.
If you need this to run on Windows XP then use the previous function SHGetFolderPath and equivalent CSIDLs.