0

鉴于:

Process p;

我可以执行以下操作:

IntPtr hWnd = p.MainWindowHandle;

这给了我主模块主窗口的 HWnd。

我想做的是在这个过程中为另一个模块的主窗口获取 HWnd,可能是这样的:

IntPtr hWnd = p.Modules[0].MainWindowHandle;

这样的事情可能吗?即使我必须使用 Win32API dll 也没关系。

4

1 回答 1

1

模块不拥有窗口。窗口归进程所有。严格来说,windows 与创建它们的线程有密切关系。但是由于可见窗口总是由进程的主 GUI 线程创建的,因此将窗口视为由进程拥有并没有什么坏处。

碰巧的是,进程中的任何模块都可能创建了由MainWindowHandle. 因此,所要求的实际上没有任何意义。

于 2012-11-30T15:54:24.623 回答