【问题标题】:Request file access permission请求文件访问权限
【发布时间】:2015-07-30 12:17:43
【问题描述】:

我正在尝试创建一个程序,该程序使用SpeechSynthisizer 将一些语音保存到C:\speech.wav,但我收到一个错误,我无权这样做。我想知道我如何能够为我的程序请求管理员权限,以便我能够这样做。

更新:感谢大家的帮助,但我只能选择你们中的一个,抱歉。

版主须知:此帖可以关闭。

【问题讨论】:

  • 你能分享你的代码吗,到目前为止你做了什么?
  • 并将您的文件移动到保护较少的位置? C盘根目录不是存放数据文件的正确位置。尝试使用您的 ProgramData 文件夹或您的文档文件夹,但尽量避免使用系统驱动器的根目录
  • 实际上,更具体地说,我需要为我制作的 lib 做一个教程,目的是,如果有人被问到我的 lib 是否想要访问,他们可能会受到怀疑,但如果他们的程序正在使用询问他们会说是的。另外,这方面的 MSDN 教程有点复杂,所以我很难理解它......
  • 我只是写信给`C:\`进行测试

标签: c# admin access-control file-access


【解决方案1】:

您需要为您的可执行文件或 dll 创建应用程序清单,并通过那里分配管理员访问权限。这将在运行时提示管理员提示,如 Windows 认为合适的那样。看到这个帖子:How do I force my .NET application to run as administrator?

【讨论】:

    【解决方案2】:

    在最近的 Windows 操作系统安装下写入名为 ProgramData 的 CommonApplicationData 文件夹下的文件。

    string programDataDir = 
           Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
    string subDir = "MyApp";
    string logFilePath = Path.Combine(programDataDir, subDir);
    

    然后将您的 WAV 文件保存在此目录下。对于 Windows Vista/7/8,这将是“C:\ProgramData\MyApp\”,并且在此目录下写入应该没有安全权限问题。

    【讨论】:

      【解决方案3】:

      这是一个相关的问题,有一些替代方案。 我喜欢 Steve B 在 C:\

      中创建新文件夹的想法

      C#, Creating .txt file

      【讨论】:

        猜你喜欢
        • 2020-06-11
        • 1970-01-01
        • 1970-01-01
        • 2012-11-14
        • 2020-05-08
        • 1970-01-01
        • 1970-01-01
        • 2022-11-05
        • 1970-01-01
        相关资源
        最近更新 更多