Process.Kill()返回拒绝访问

时间:2014-10-06 12:04:11

标签: c# process

我试图使用来自我的C#应用​​程序的CMD命令行来杀死进程,但是当我启动应用程序时没有任何反应...当我尝试从命令提示符处杀死时,我收到消息:"访问被拒绝"。我已尝试以管理员身份运行我的应用,但该过程已被终止。如何管理不要总是使用"以管理员身份运行"?

代码:

System.Diagnostics.Process process = new System.Diagnostics.Process();
            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.FileName = "cmd.exe";
            startInfo.Arguments = "/C taskkill /F /IM APP.EXE";
            process.StartInfo = startInfo;
            process.Start();

3 个答案:

答案 0 :(得分:2)

试试这个

System.Diagnostics.Process process = new System.Diagnostics.Process();
        System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
        startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        startInfo.FileName = "cmd.exe";
        startInfo.UserName = "Administrator";
        startInfo.Password = <password>;
        startInfo.Arguments = "/C taskkill /F /IM APP.EXE";
        process.StartInfo = startInfo;
        process.Start();

答案 1 :(得分:0)

您需要在清单

中设置此项
<requestedExecutionLevel level="requireAdministrator" uiAccess="true"/>

答案 2 :(得分:0)

这意味着您的应用程序是在管理员下运行的,因此您也可以仅在管理员下删除它。 尝试在另一个用户下启动应用程序。

希望得到这个帮助。