正确的运行、终止和保持进程运行的方法
正确的运行、终止和保持进程运行的方法
在我的应用程序中,使用另一个在托盘中运行的应用程序来打印收据,我需要做以下三件事:
- 在主应用程序启动时打开进程
- 在主应用程序关闭或更改打印机的任何信息时关闭进程
- 如果出现错误,保持进程活动
第一个点很简单,我只需要简单地执行以下代码:
Process.Start("_ReceiptPrinter.exe");
进程就会运行起来 😉
但是现在,还有另外两个问题:
- 关闭进程。我尝试了以下代码:
Process[] allProcs = Process.GetProcesses(); foreach (Process proc in allProcs) { ProcessThreadCollection myThreads = proc.Threads; if (proc.ProcessName == "_ReceiptPrinter") { proc.Close(); } }
不幸的是,我仍然可以在托盘中看到图标,并且进程仍在运行。
- 保持进程活动。我的主应用程序是使用WPF编写的,而托盘中的应用程序是使用WinForms编写的。也许有一种方式可以处理任何 WinForm 应用程序的退出事件(除了从另一个应用程序简单地关闭它的这种情况),然后重新打开它?