1

C# を使用して Windows 7のディレクトリにファイルをコピーしようとしていますC:\Windows\Win32が、オペレーティング システムで許可されていません。問題を解決するためのプログラムを作成しましたが、アクセス制御を設定した行で例外がスローされます: di.SetAccessControl(ds)

例外メッセージは次のとおりです。

「不正な操作を試みました。」

私のコード:

using System.IO;
using System.Security.AccessControl;
using System.Management;
using System.Management.Instrumentation;

namespace MyProgram
{
    public class Program
    {
        public static void Main(string[] args)
        {
            System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\Windows\Win32");
            FileSystemAccessRule fsar = new FileSystemAccessRule("Users", FileSystemRights.FullControl, AccessControlType.Allow);
            DirectorySecurity ds = null;
            if (!di.Exists)
            {
                System.IO.Directory.CreateDirectory(@"C:\Windows\Win32");
            }

            ds = di.GetAccessControl();
            ds.AddAccessRule(fsar);
            di.SetAccessControl(ds);
            File.Copy(@"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg", @"C:\Windows\Win32\Desert.jpg");
            Console.WriteLine("successfully copy!!!!");
        }
    }
}
4

0 に答える 0