我要使用C#编程(我创建的“Win32”文件夹)将文件复制到Windows 7中的这个路径(C:\ Windows \ Win32)但是我不能。因为操作系统不是'允许我。所以我需要完全访问权限。我编写此代码来解决问题,但我在程序运行中看到此错误:“尝试执行未经授权的操作。” 。请帮我 !!! .thanks
using System.IO;
using System.Security.AccessControl;
using System.Management;
using System.Management.Instrumentation;
1. private void Sample2_Click(object sender, EventArgs e)
2. {
3. System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\Windows\Win32");
4. FileSystemAccessRule fsar = new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow);
5. DirectorySecurity ds = null;
6. if (!di.Exists)
7. {
8. System.IO.Directory.CreateDirectory(@"C:\Windows\Win32");
9. }
10. ds = di.GetAccessControl();
11. ds.AddAccessRule(fsar);
12. di.SetAccessControl(ds);
13. File.Copy(@"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg", @"C:\Windows\Win32\Desert.jpg");
14. MessageBox.Show("successfully copy!!!!");
15. }
答案 0 :(得分:0)
启动应用程序时需要触发UAC。
将此XML嵌入manifest - 文件
中<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>