VBA、API编程与数据宏的深入解析
1. API编程基础
1.1 回调函数的声明
EnumChildWindows 函数需要一个回调函数,该函数会为找到的每个窗口调用一次。回调函数是一个公共函数,API会根据需要多次调用它,并将信息作为参数传递。根据 EnumChildWindows 的MSDN文档,项目需要 EnumChildProc 回调。调用API时传递回调的指针,回调的名称在项目上下文中无关紧要,重要的是函数签名要匹配规范,参数数据类型要正确映射。回调函数必须声明为 Public 并位于标准模块中。调用 EnumChildWindows 函数时,使用 VBA 语句 AddressOf 传递函数指针给 EnumChildProc 回调。
1.2 确定窗口的类名
接下来需要的API是 GetClassName ,该函数接受窗口句柄并返回Windows类名。从回调函数中检查当前窗口的类名,查找两种可能的Windows资源管理器类名: CabinetWClass 或 ExploreWClass 。如果确定窗口是资源管理器窗口,将窗口句柄添加到模块级变量中,以便后续比较。
1.3 为两种不同用途准备 EnumChildProc
由于要对桌面窗口进行两次枚举
超级会员免费看
订阅专栏 解锁全文
1138

被折叠的 条评论
为什么被折叠?



