微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Delphi中枚举另一个进程的窗口?

我有一个进程foo.exe用CreateProcess函数创build一个进程bar.exe 。 我想(在foo.exe )枚举在bar.exe创build的窗口的控件, bar.exe (假设我)需要窗口HWND。

我知道bar.exe所有窗口类, bar.exe bar.exe只为每个类创build一个窗口,所以我可以使用类名来find我想要的窗口。

但是我应该用什么函数来枚举另一个进程中的窗口? 我正在寻找一些进程句柄或PID(都由CreateProcess函数返回)和一个EnumProccallback过程。 我应该findbar.exe的线程ID(它是一个单线程应用程序),并使用EnumThreadWindows函数

TFileListBox组件查找不再存在的文件

delphi – 系统托盘图标不打开应用程序备份

如何事先不知道他们的本地化名称,如何使用Windows安全组?

如何在Delphi中打开MSI表?

如何防止Windows资源pipe理器干扰删除文件夹?

随机文件生成器(再次!)

如何编程find两个目录之间的区别

如何在非触摸式Windows上testing支持触摸的应用程序?

如何获得打印作业文件名(文件地址)?

我们可以从Delphi调用Native Windows API吗?

调用EnumWindows来枚举顶层窗口。

将每个顶级窗口句柄传递给GetwindowThreadProcessId以找出与其关联的进程ID。

当您找到与您的进程ID相匹配的顶级窗口时,请检查该窗口是应用程序的主窗口,大概是通过检查其类名称

最后,在该主窗口上调用EnumChildWindows来枚举该主窗口的所有子项。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐