如何一次性取所有主窗口的句柄
本帖最后由 Q624353765 于 2023-12-12 10:00 编辑如何一次性取所有主窗口的句柄
把窗口都放一个数组里
enumwindows()
有点近视也不知道这手打这个api错没错 EnumChildWindows 枚举所有子窗口 小蜗牛 发表于 2023-12-11 23:11
EnumChildWindows 枚举所有子窗口
不是子窗口,是主窗口 EnumWindows <火山程序 类型 = "通常" 版本 = 1 />
方法 取所有主窗口 <公开 静态>
{
@ EnumWindows((WNDENUMPROC)@<接口函数>,0);
}
方法 接口函数 <公开 静态 类型 = 逻辑型>
参数 句柄 <类型 = 变整数>
参数 cd <类型 = 整数>
{
如果 (句柄 != 0)
{
调试输出 (句柄)
}
返回 (句柄 != 0)
}
<火山程序 类型 = "通常" 版本 = 1 />
方法 枚举所有句柄 <公开 静态>
{
@ EnumWindows((WNDENUMPROC)@<接口函数>,1);
}
方法 接口函数 <静态 类型 = 逻辑型>
参数 句柄 <类型 = 变整数>
参数 类别 <类型 = 逻辑型 注释 = "真 主窗口, 假 子窗口">
{
如果 (句柄 != 0)
{
@ if (@<类别>){EnumChildWindows((HWND)@<句柄>,(WNDENUMPROC)@<接口函数>,0);}
调试输出 (类别, 句柄)
}
返回 (句柄 != 0)
}
其实可以申请9个字节传参,
1 做标志位
2-9=8字节 记录数组指针。
最后直接指针转数组。 精易模块里的窗口_枚举
页:
[1]
2