我使用简单的文件 IO 在 C# XNA 中创建了一个游戏来处理保存游戏数据,但是当我打包游戏并让其他人运行它时,这会产生问题。经过几次测试,我发现游戏可以在管理员中运行,但是如果不这样做,就会抛出 UnauhorizedAccessExceptions (并且在没有捕获时简单地挂起无响应)。这对我来说确实有意义,因为我记得在尝试文件 IO 时看到过这个异常。
我可以简单地捕获异常并对它不执行任何操作,让游戏本身响应...但保存功能不起作用,除非以管理员权限运行。
所以我的问题是,是否有一个我可以保存的地方,不会干扰用户,但无需管理员访问权限即可访问?这甚至是一个可访问的位置的问题还是其他什么?有没有什么好的方法可以解决这个问题?如果我需要提供代码或任何更多细节,请告诉我。
最佳答案
用户配置文件内的某个位置,例如 AppData 或我的文档。
获取AppData的路径如下:
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
Environment.GetFolderPath 的文档位于此处:
http://msdn.microsoft.com/en-gb/library/system.environment.getfolderpath.aspx
关于c# - 拒绝访问 C# 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15616625/