首页 > 解决方案 > 如何暂停后台进程?

问题描述

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

过程

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

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

有什么想法吗?

标签: c#winformsprocess

解决方案


你不能阻止它,你只需找到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
}
 

推荐阅读