2014-10-30 141 views
-1

我需要獲取最小化窗口的窗口句柄。我知道進程名稱,但它沒有設置MainWindowHandle,因爲它已被最小化。我如何才能瞭解窗口句柄?如何獲得最小化窗口的窗口句柄

+0

爲什麼你需要一個沒有顯示窗口的進程的窗口句柄? – BlueMonkMN 2014-10-30 15:06:43

+0

我需要用WM_CLOSE消息關閉應用程序 - 爲此,我需要窗口句柄。 – Egres 2014-10-30 15:08:22

+0

這個問題的前提是荒謬的,一個具有最小化主窗口的進程當然會*設置其MainWindowHandle屬性。例如,用記事本嘗試一下。 – 2014-10-30 15:20:12

回答

0

如果目標是關閉主窗口以結束該過程,則使用System.Diagnostics.Process對象可以非常直接地實現此目的。本示例關閉它找到的記事本的第一個實例。

var procs = System.Diagnostics.Process.GetProcessesByName("Notepad"); 
if (procs.Length > 0) 
    procs[0].CloseMainWindow(); 
foreach (var proc in procs) 
    proc.Dispose();