2011-05-07 150 views
1

我有一個啓動記事本的應用程序。我想要做的是最小化我的應用程序,然後啓動Notepad.exe。用戶關閉記事本後,我想讓我的應用程序自動最大化或恢復我的應用程序窗口。我怎樣才能在C#中做到這一點?我正在調查notepad.exe進程,並試圖檢測記事本上的窗口關閉事件。我似乎是在思考這個問題。有沒有簡單的方法來做到這一點?啓動應用程序,然後在關閉應用程序後恢復

+1

如果沒有進一步的檢查,往往可以產生一個Windows進程,獲取進程ID,並有定時檢查該進程ID仍在運行,一旦它不是,彈回到您的應用程序 – BugFinder 2011-05-07 00:14:54

+0

@BugFinder被正軌 - 這可能會爲你做。 – 2011-05-07 00:16:57

+0

是的,這是一個好主意。看到我知道我正在讓這個複雜化。把你的評論放入一個答案中,我會將它標記爲已解決。謝謝! – Icemanind 2011-05-07 00:19:36

回答

1

只需使用Exited事件恢復您的窗口。就像這樣:

private void button1_Click(object sender, EventArgs e) { 
     var prc = new System.Diagnostics.Process(); 
     prc.StartInfo.FileName = "notepad.exe"; 
     prc.EnableRaisingEvents = true; 
     prc.SynchronizingObject = this; 
     prc.Exited += delegate { 
      this.WindowState = FormWindowState.Normal; 
      prc.Dispose(); 
     }; 
     prc.Start(); 
     this.WindowState = FormWindowState.Minimized; 
    } 
+0

這很好。謝謝漢斯! – Icemanind 2011-05-07 02:07:38

相關問題