C#访问被拒绝路径

时间:2018-02-25 22:55:05

标签: c#

string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86);
File.WriteAllBytes(path, Properties.Resources.chargementvideo); 

chargementvideo是Vs资源中的文件。

因此,对“ProgramFiles”的访问被拒绝,我已经尝试以管理员身份运行或提供完全权限。

1 个答案:

答案 0 :(得分:3)

使用File.WriteAllBytes时,您必须提供文件的路径作为第一个参数,而不是文件夹...否则该方法无法知道必须将文件数据写入:

String file = 'data.ext';
String path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86);
String filePath = Path.Combine(path, file);

File.WriteAllBytes(filePath, Properties.Resources.chargementvideo);

Altrough我建议你避免将数据写入这些文件夹......访问它们时,必须提升权限。您无法以编程方式执行此操作,但可以通过编辑其清单来使应用程序以管理权限运行,如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">
    <v3:security>
      <v3:requestedPrivileges>
        <v3:requestedExecutionLevel level="highestAvailable"/>
      </v3:requestedPrivileges>
    </v3:security>
  </v3:trustInfo>
</assembly>