當前有一個程序可以打開另一個程序。如果程序關閉,我需要執行一個操作。我對C#很新,所以可以使用一些幫助讓我指出正確的方向。如何監視其他.exe文件並在其關閉時執行操作
編輯:所以我能夠得到當前窗體打開外部程序。這個表單然後需要關閉,另一個表單需要有一個函數來執行一個動作,如果loader.exe關閉。這是我的第一種形式。如何編寫其他表單以瞭解此程序是否已結束。
public static class Program
{
public static bool OpenManager { get; set; }
public static int DeskNumber { get; set; }
/// The main entry point for the application.
[STAThread]
static void Main(string[] arguments)
{
/// Do not move this!
OpenManager = false;
MYvariable = 0;
/// ----------------
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Loader());
if (OpenManager)
{
if (MYvariable == 1)
{
System.Diagnostics.Process startProgram = System.Diagnostics.Process.Start("loader.exe", "-r 52");
startProgram.EnableRaisingEvents = true;
Application.Run(new Manager());
這是否允許初始過程仍然運行並執行其他操作?對不起,如果這是一個真正新問題。 –
@DavidBentley當然可以。你只註冊該事件。所以如果創建的進程終止了'OnProcessExited'被調用。 (注意,我不確定是否在啓動該進程的同一個線程上調用這個函數)。但是,在進程運行時,執行不會被阻止。 –
好的,如果我以一種形式打開外部程序,然後該表單關閉並打開另一個表單,這也可以工作嗎?新形式是監控運行過程所需要的。 –