列举窗口,源码是易语言的基础操作例程。
.版本 2
.支持库 iext
.程序集 窗口程序集1
.程序集变量 Title, 文本型
.程序集变量 Class, 文本型
.子程序 子窗口, , , ' 本源码来自三叶资源网(www.sanye.cx)
.参数 父窗口句柄, 整数型
.参数 父位置, 整数型
.局部变量 子窗口句柄, 整数型
子窗口句柄 = FindWindowEx (父窗口句柄, 0, 字符 (0), 字符 (0))
.判断循环首 (子窗口句柄 ≠ 0)
SendMessage (子窗口句柄, 13, 256, Title)
GetClassName (子窗口句柄, Class, 256)
子窗口 (子窗口句柄, 树型框1.加入项目 (父位置, 取十六进制文本 (子窗口句柄) + “ ” + #引号 + Title + #引号 + “:” + #引号 + Class + #引号, , , 子窗口句柄))
子窗口句柄 = FindWindowEx (父窗口句柄, 子窗口句柄, 字符 (0), 字符 (0))
.判断循环尾 ()
.子程序 _按钮2_被单击
.局部变量 N, 整数型
.局部变量 hwnd, 整数型
树型框1.清空 ()
' 子窗口 (0, -1)
EnumWindows (&EnumWindowsProc, 0)
.子程序 __启动窗口_创建完毕
Class = 取空白文本 (256)
Title = 取空白文本 (256)
.子程序 EnumWindowsProc, 逻辑型
.参数 hwnd, 整数型
.参数 lParam, 整数型
.局部变量 句柄组, 整数型, , "0"
.局部变量 父句柄, 整数型
.局部变量 父位置, 整数型
.局部变量 找到, 逻辑型
.局部变量 N, 整数型
.局部变量 M, 整数型
父句柄 = GetParent (hwnd)
.判断循环首 (父句柄 ≠ 0)
插入成员 (句柄组, 1, 父句柄)
父句柄 = GetParent (父句柄)
.判断循环尾 ()
加入成员 (句柄组, hwnd)
父位置 = -1
.变量循环首 (1, 取数组成员数 (句柄组), 1, N)
找到 = 假
.变量循环首 (父位置 + 1, 树型框1.取项目数 () - 1, 1, M)
.如果真 (树型框1.取缩进层次 (M) = N)
.如果真 (树型框1.取父项目 (M) ≠ 父位置)
跳出循环 ()
.如果真结束
.如果真 (树型框1.取项目数值 (M) = 句柄组 [N])
父位置 = M
找到 = 真
跳出循环 ()
.如果真结束
.如果真结束
' 本源码来自三叶资源网(www.sanye.cx)
.变量循环尾 ()
.如果真 (找到 = 假)
SendMessage (句柄组 [N], 13, 256, Title)
GetClassName (句柄组 [N], Class, 256)
树型框1.加入项目 (父位置, 取十六进制文本 (句柄组 [N]) + “ ” + #引号 + Title + #引号 + “:” + #引号 + Class + #引号, , , 句柄组 [N])
.如果真结束
.变量循环尾 ()
返回 (真)