如何暂停后台进程?

问题描述

我有这个应用程序通过API上传文件到服务器,是c#中的一个WinForm应用程序,这个应用程序启动一个进程

Process

此进程是来自另一个 WinForm 应用程序的 .exe 文件。我试图通过 id 获取进程,通过名称甚至获取所有进程,但我找不到启动的进程。

问题是我运行上传文件的过程,表单有一个取消按钮,这个按钮应该暂停过程并询问用户是否要取消操作,如果他点击是我必须调用一个一段代码,但我找不到进程,我无法中断或暂停。

有什么想法吗?

解决方法

你无法阻止它,你只需找到exe名称并杀死它即可。

DialogResult dialogResult = MessageBox.Show("Sure","Some Title",MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
    try
    {
        foreach (Process proc in Process.GetProcessesByName("_procExe"))
                {
                    proc.Kill();
                }
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
else if (dialogResult == DialogResult.No)
{
    //do something else
}