我試圖從我的C#應用程序使用CMD命令行殺死一個進程,但是當我啓動應用程序時什麼都沒有發生......當我嘗試從命令提示符中殺死時,我收到消息:「訪問被拒絕」。我嘗試以管理員身份運行我的應用程序,並且該進程被終止。我如何管理不總是使用「以管理員身份運行」?Process.Kill()返回訪問被拒絕
代碼:
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();
要殺死任何程序,您必須擁有足夠的權限。你通常只能殺死屬於你的進程。例如,你不能殺死以管理員或系統進程啓動的程序,至少不能提升自己。澄清,目標「受害者」是什麼? – Alejandro 2014-10-06 12:06:43
這個過程來自於需要UAC的應用程序,因此我認爲這是問題...只是一個簡單的應用程序,而不是「受害者」。 – Yildirim 2014-10-06 12:16:44
是的,「受害者」只是一個有趣的說法:P。好的,但是如果目標程序使用提升的權限運行,那麼任何其他想要操作它的程序都必須使用提升的權限,至少在這種情況下是這樣。即使你使用任務管理器來嘗試它,你也必須提升它。 – Alejandro 2014-10-06 12:25:04