2014-10-30 113 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();