C#优雅地关闭一个没有UI的单独应用程序
C# gracefully close a separate application that has no UI
i使用C#进程类打开一个没有GUI的单独应用程序。我使用Process.Kill()
结束它是一个C 项目。问题在于,这并不能使其有机会完成其动作。Process.Close()
只是在我的主应用程序中释放对象,然后将单独的应用程序运行。
什么是优雅地关闭此过程的最佳方法?
过去,我需要从gui c#工具中启动一个非gui c#工具,这两个工具都是我写的。我使用标准输入/输出流在这两个工具之间进行通信。
您可以使您的C 工具在其stdin
上收听指示该工具应优雅戒烟的命令。然后,在您的C#应用程序中,发送退出命令,等待合理的时间,如果该工具还没有结束,请杀死它。
很抱歉,我的C 还不够好,无法为您提供C 方面的示例,但是我的C#项目中使用了以下几行来告诉外部过程:
m_consoleProcess.StandardInput.WriteLine("QUIT");
m_consoleProcess.WaitForExit(10000);
if (!m_consoleProcess.HasExited)
{
m_consoleProcess.Kill();
}
如果您需要管理单独的外部流程,则当然需要为每个过程存储一个Process
实例,并且您必须处理外部进程在申请退出之前结束的情况。
相关文章:
- 如何创建一个接口,允许我访问C++中的按钮(和其他ui)函数,该函数是使用python中的MFC实现的
- 如何从另一个类编辑 QMainWindow UI 小部件?
- 一个 ui 成员的 Qt 连接和同一连接中的两个信号
- 将一个 UI 文件添加到另一个 UI 文件中
- QT子类UI表单显示一个空白窗口
- Qt5 从另一个类访问 UI
- QML应用程序编译一个 *form.ui.qml文件,但忽略了关联的.qml文件
- C#优雅地关闭一个没有UI的单独应用程序
- 在一个程序中处理多个QT Designer UI文件的最佳方法是什么?
- 单击按钮时显示另一个 UI 文件
- Gtkmm : 如何从另一个线程更新 UI?不断
- 如何从一个小部件中获取ui,以便将其连接到另一个类中
- Qt:使用信号和插槽从另一个类调用MainWindow::Ui
- 如何制作一个操纵另一个程序的程序ui
- QT/C++关于访问UI文件的另一个问题
- 我运行一个程序并遇到分段错误(核心转储),我使用 gdb 进行调试,程序在运行 ui->setupUI() 时崩溃了
- c++ QT在另一个类中使用ui错误
- 我真的应该为我的应用程序使用单个qss文件而不是为每个(UI)类使用一个吗?
- 是否有可能在qt中的一个类中切换两个UI表单?
- 将一个UI加载到另一个UI之上