c# - 如何暂停后台进程?
问题描述
我有这个应用程序通过 API 将文件上传到服务器,是 c# 中的 WinForm 应用程序,这个应用程序启动一个进程
此进程是来自另一个 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
}
推荐阅读
- c - C - 使用最低有效位编码和解码消息
- rest - 将 Jasper Report 与 Jasper 服务器上的 Rest API 连接起来
- hibernate - Wildfly - 在使用 JPA-Hibernate 重新连接期间,后台验证不适用于数据源
- swift - SwiftUI 中的 NavigationBarTitle 文本颜色
- c# - Unity Ads:广告中没有取消按钮
- javascript - 用 highchart 绘制动态数组数据结构
- python - 用来自另一个不同形状的 DataFrame 的值填充 pandas DataFrame
- azure - 使用 ARM 模板创建用户管理的身份和服务器管理员
- excel - Excel Power Query 获取文件列表,包括空文件夹和子文件夹的名称
- python - 如何修复 VALUE / ASSERTION 错误?我正在尝试抓取一个有六列但合并了三列的表