c# - 2 具有相同名称和类的 Windows
问题描述
我有 2 个具有相同类和名称的窗口。这是 SPY++ 中 2 个窗口的图片
我想找到底部窗口(001C1E1A
)但是每当我试图用这条线找到他时:
hwndChild2 = FindWindowEx((IntPtr)hwndChild, IntPtr.Zero, "msctls_progress32", null);
我得到了顶部窗口(00790B50
)。
所以我的问题是:如何001C1E1A
从图片列表中找到底部窗口()?
解决方案
根据文档,第一个参数FindWindowEx
是父窗口,第二个参数是childAfter
,您之前找到的窗口的句柄。
所以这些调用应该会给你结果:
// find first window
hwndChild = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "msctls_progress32", null);
// find second window
hwndChild2 = FindWindowEx(IntPtr.Zero, (IntPtr)hwndChild, "msctls_progress32", null);
推荐阅读
- security - 使用 CURL 对敏感文件进行 SFTP 文件传输的安全性如何?
- kubeflow - 有没有办法自定义 Kubeflow Pipeline 可视化的名称?
- haskell - 在 Haskell 中递归地从字符串中删除输入的字符
- git - Git 最佳实践 - 添加占位符配置文件
- python - Cogs - 在父目录中查找 (Discord.py)
- javascript - 根据某些条件将值附加到对象数组中?
- kubernetes - Kubernetes Cronjob:集群恢复后重置错过的开始时间
- c++ - 如何快速计算任何底的整数对数?
- angular - NG Bootstrap 封装问题
- sql-server - 关于 WHERE 子句的 SQL Server 语法?