尝试关闭应用程序并替换文件,但我收到文件错误

时间:2015-03-29 23:24:28

标签: c#

static void Main(string[] args)
{
    Process lsharp = Process.Start(@"C:\Users\Noo\Desktop\Documents\loader.exe");
    Process myProcess = Process.Start(@"C:\Users\Noo\Desktop\Music\VoliBot.exe");
    Process F5 = Process.Start(@"C:\Users\Noo\Desktop\F5.exe");

    if(myProcess.HasExited == true)
    {
        Process[] pname = Process.GetProcessesByName("VoliBot");

        if (pname.Length == 0)
            F5.Kill();

        File.Copy(@"C:\Users\Noo\Desktop\game.cfg", @"C:\Riot Games\League of Legends\Config\game.cfg", true);
        Console.WriteLine("The Config was replaced.");
    }
    Console.WriteLine("Press any key to continue");
    Console.ReadLine();
}

错误是: 未处理的类型' System.UnauthorizedAccessException'发生在mscorlib.dll

其他信息:访问路径' C:\ Riot Games \ League of Legends \ Config \ game.cfg'被拒绝。

1 个答案:

答案 0 :(得分:1)

某些进程仍然会锁定您的文件,或者您确实无法访问它。您可以使用Process Explorer查看谁有您的文件句柄。在顶部菜单中查找子项"查找文件/句柄"或类似的规定。 此外,我认为您需要将VoliBot.exe传递给GetProcessesByName而不是VoliBot。 我假设你是Noo,而不是试图访问其他用户的主目录。