如何使用c#关闭外部应用程序

本文关键字:外部 应用程序 何使用 | 更新日期: 2023-09-27 18:12:44

当用户按下键盘上的一个键时,我试图关闭计算器。但是p.kill和p.CloseMainWindow不会杀死计算器,只会杀死被执行的shell。

Process p = new Process();
p.StartInfo.FileName = "cmd";
p.StartInfo.Arguments = "/c calc ";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.Start();
Console.WriteLine("Press any key to kill Calc");
Console.ReadKey();
p.CloseMainWindow();
p.Kill();

如何使用c#关闭外部应用程序

不要使用shell (cmd),直接运行calc进程。将Process.StartInfo.FileName设置为"calc"就可以了(假设calc.exe在系统路径上)。

您需要找到Calculator进程并杀死它。实际上创建了两个进程:一个用于cmd,另一个用于Calculator。你只杀了第一个。

另一个解决方案是直接启动计算器,不使用cmd

因为您的进程不是calc.exe进程,而是执行calc.exe的命令提示符。

通过名称找到一个进程并杀死它,你应该使用GetProcessByName,

见这里的一个例子:c# Process Process。GetProcessesByName, Kill进程和Exit事件