获取子窗口句柄EnumChildWindows的威力
来源:互联网 发布:女高中生知乎 编辑:程序博客网 时间:2024/05/17 03:26
转自:http://www.ltesting.net/ceshi/ruanjianceshikaifajishu/rjcskfyy/dotnet/2007/0701/113175.html
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
很早就写过类似spy++和查看密码窗口的东西,一直想给这个小东西再加点特别的。
前段时间对软件安装注册发生了兴趣,有些软件如果你不输入正确注册码,那该死的“下一步”按钮就一直disable。这次我就让spy++彻底spy到底,把那个注册用的按钮置亮,让我轻松进入“下一步”,呵呵...。
我的想法是光标移到指定的窗口上后,探测这个窗口上到底有多少按钮,如果有,就将它们都Enable。
在这里我不想讨论怎样具体实现这个功能,但你要知道的是想得到这些被disable窗口(按钮)的句柄是根本无法通过WindowFromPoint这个API函数得到的,GetWindow也不要妄想了。
顺手查了下MSDN,看到EnumChildWindows可是个好东西,可以枚举一个父窗口的所有子窗口:
BOOL EnumChildWindows(
HWND , // handle to parent window // 父窗口句柄
WNDENUMPROC , // callback function // 回调函数的地址
LPARAM // application-defined value // 你自已定义的参数
);
就这么简单,让我们再定义一个回调函数,像下面这样:
BOOL CALLBACK EnumChildProc(
HWND , // handle to child window
LPARAM // application-defined value
);
注意:这个回调函数要么是类的静态函数,要么就是一个全局的函数。
--------------------------------
在调用EnumChildWindows 这个函数时,直到调用到最个一个子窗口被枚举或回调函数返回一个false,否则将一直枚举下去。
有了上面的知识,我想你应该知道怎么做了。
- 获取子窗口句柄EnumChildWindows的威力
- 获取子窗口句柄EnumChildWindows的威力
- EnumChildWindows的威力
- EnumChildWindows的威力
- EnumChildWindows的威力
- EnumChildWindows 枚举子窗体句柄
- EnumChildWindows枚举所有子窗口
- 从子窗口中获取父窗口的句柄例子
- 获取子数据窗口的句柄并刷新
- 调用EnumChildWindows来枚举子窗口
- mfc获取子窗口句柄总结
- 获取桌面窗口的句柄
- 获取控制台窗口的句柄
- 获取控制台窗口的句柄
- 获取控制台窗口的句柄
- 获取控制台的窗口句柄
- 窗口句柄的获取MFC
- 获取窗口句柄的方法
- Windows 7下读写Ext2/Ext3/Ext4文件系统
- 使用jetty作为内嵌服务器启动项目
- C++命名规则(Important Knowledge)
- Hibernate 调用函数及过程
- UTF-8规范
- 获取子窗口句柄EnumChildWindows的威力
- Spring从菜鸟到高手(一)实现AOP的基本原理
- Faster Datanodes with less wait io using df instead of du
- winform下UPD通信的简单应用
- Spring从菜鸟到高手(二)AOP的真正实现
- 常见加密算法分,用途,原理以及比较
- Spring从菜鸟到高手(三)依赖注入
- 常见加密算法分类
- Ubuntu 12.04 编译内核步骤 + Fedora 10 编译内核步骤(图)