C#:使用单独的 .exe

C#: Working with separate .exe

我有一个复杂的数据操作控制台程序,使用起来很痛苦。

我正在尝试创建一个包装类型的 GUI 程序以方便使用。

现在我正在打开一个新线程并使用 Process.Start() 并捕获输出。

这很好用,除了一个问题,我如何根据用户的要求取消进程

考虑到这个过程 CPU 密集并且可能有很长的 运行 次,这非常重要。

使用Process.Kill()方法:

foreach (var process in Process.GetProcessesByName("whatever"))
{
    process.Kill();
}

如果您不想杀死 whatever 的所有实例,请使用以下命令启动您的进程:

process = Process.Start("whatever");

然后在需要时调用Kill方法:

process.Kill();

假设您已经启动了如下流程

Process myProcess = Process.Start("myapp.exe");

然后您可以关闭进程以释放资源

myProcess.Close();

然后使用

停止进程
myProcess.Kill();