Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
鉴于:
Process p;
我可以执行以下操作:
IntPtr hWnd = p.MainWindowHandle;
这给了我主模块主窗口的 HWnd。
我想做的是在这个过程中为另一个模块的主窗口获取 HWnd,可能是这样的:
IntPtr hWnd = p.Modules[0].MainWindowHandle;
这样的事情可能吗?即使我必须使用 Win32API dll 也没关系。
模块不拥有窗口。窗口归进程所有。严格来说,windows 与创建它们的线程有密切关系。但是由于可见窗口总是由进程的主 GUI 线程创建的,因此将窗口视为由进程拥有并没有什么坏处。
碰巧的是,进程中的任何模块都可能创建了由MainWindowHandle. 因此,所要求的实际上没有任何意义。
MainWindowHandle