C# Process.Kill()返回拒绝的访问
我正试图从我的C#应用程序中使用CMD命令行终止一个进程,但当我启动应用程序时,什么都没有发生。。。当我试图从命令提示符下执行kill时,我收到消息:“访问被拒绝”。我试图以管理员身份运行我的应用程序,但进程被终止。我如何才能不总是使用“以管理员身份运行” 代码:C# Process.Kill()返回拒绝的访问,c#,process,C#,Process,我正试图从我的C#应用程序中使用CMD命令行终止一个进程,但当我启动应用程序时,什么都没有发生。。。当我试图从命令提示符下执行kill时,我收到消息:“访问被拒绝”。我试图以管理员身份运行我的应用程序,但进程被终止。我如何才能不总是使用“以管理员身份运行” 代码: 您需要在清单中设置此项 <requestedExecutionLevel level="requireAdministrator" uiAccess="true"/> 试试这个 System.Diagnostics.P
您需要在清单中设置此项
<requestedExecutionLevel level="requireAdministrator" uiAccess="true"/>
试试这个
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();
System.Diagnostics.Process进程=新的System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo=新系统.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle=System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName=“cmd.exe”;
startInfo.UserName=“管理员”;
startInfo.Password=;
startInfo.Arguments=“/C taskkill/F/IM APP.EXE”;
process.StartInfo=StartInfo;
process.Start();
这意味着您的应用程序是在administrator下运行的,所以您也只能在administrator下杀死它。
尝试在其他用户下启动应用程序
希望有此帮助。要杀死任何程序,您必须拥有足够的权限。通常只能终止属于您的进程。例如,您不能终止以管理员或系统进程身份启动的程序,至少在不提升自己的情况下是如此。要澄清的是,什么是预期的“受害者”?这个过程是从需要UAC的应用程序开始的,所以我认为这就是问题所在。。。只是一个简单的应用程序,而不是“受害者”。是的,“受害者”只是一个有趣的说法:P.好的,但如果目标程序以提升的权限运行,那么任何想要操纵它的其他程序也必须使用提升的权限,至少在这种特殊情况下是如此。即使你尝试使用任务管理器,你也必须提升它。这个应用程序应该在更多的机器上运行。@Yildirim检查David Pilkington答案!您可以将/user:Administrator添加到参数中,但始终会要求您输入passowrd@Yildirim我不知道你的意思
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();