[ad_1]
我编写了一个简单的多用户程序,该程序可以在 PC 用户 A 的目录中运行良好。 但是,当同一台 PC 上的用户 B’ 到用户 D’ 运行该程序并尝试访问这些日期文件时,就会出现问题。 结果通常很糟糕。 我尝试为每个用户设置权限; 在每个文件属性下 – 每次运行之前。 但是从用户 B 到用户 D 运行程序后,之前设置的权限似乎消失了,就好像我根本没有做过它们一样。 这种情况已经持续了一段时间了,我也搞不明白。 怎样才能让权限可信、良好、正确,以便程序在这台PC上的任何地方运行都没有问题。 换句话说,确保一切都按计划进行,没有任何问题。 任何纠正的想法和帮助肯定会有帮助。 我做错了什么? 谢谢,
我尝试过的:
我用过_fsopen()、fopen()、fsopen_s()。 不断地改变它,敲击它。
解决方案1
为了获取路径,Windows 有一些特殊的 API,名为 已知文件夹界面a 或者最近的 SH获取文件夹路径。 参数用作路径返回的标识符。
但首先您需要一些数据概念。 最好的情况是每个用户都有自己的数据或一些通用数据。 这样就解决了访问问题。 使用海拔是一个坏主意。
解决方案2
我建议您将数据文件移动到“所有用户”数据文件夹:Windows 有一个可供所有用户使用的数据文件夹:ProgramData。
这是一个隐藏文件夹,通常位于 C: 驱动器的根目录中(但可以移动 – 打开文件资源管理器并在地址栏中键入 %PROGRAMDATA% 来查找它)。 在其中为您的应用程序创建一个文件夹,所有用户都可以完全访问该文件夹中的数据文件,无需任何提升。
[ad_2]
コメント