0 0 1
分享排行榜
修正错误贡献榜
已审核词条 未审核词条
子程序名返回值类型公开备 注
窗口_枚举所有子窗口整数型 枚举指定句柄下的所有子窗口句柄,返回子窗口句柄数目,失败或无子返回0
参数名类 型参考可空数组备 注
父窗口句柄整数型当为空时相当于EnumWindows
子窗口数组整数型变量储存返回值。
类名文本型要过滤的窗口类名。
变量名类 型静态数组备 注
pAddr整数型 
pMem整数型 
dwLen整数型 
清除数组 (子窗口数组)
类名 = 选择 (取文本长度 (删首尾空 (类名)) > 0, 类名, “”)
pAddr = 取指针_通用型_数组 (子窗口数组)
pMem = LocalAlloc ( #LMEM_ZEROINIT, 8) ' 申请8自己内存,记录两个参数
__set (pMem, 0, pAddr) ' 直接把参数的数组指针写进去
__set (pMem, 4, 取指针_文本型 (类名)) ' 把类名写进去
如果真 (EnumChildWindows (父窗口句柄, 到整数 (&EnumChildProc), pMem)) ' 把内存地址传递进去
dwLen = 取数组成员数 (子窗口数组)
LocalFree (pMem) ' 有申请就要有释放,不然就内存泄漏了
返回 (dwLen)
子程序名返回值类型公开备 注
EnumChildProc逻辑型 
参数名类 型参考可空数组备 注
hWnd整数型
lParam整数型 0 数组栈地址, 4类名指针
变量名类 型静态数组备 注
className文本型 
szStr文本型 
pAddr整数型 
pTmp整数型 
array整数型"0"
pAddrOld整数型 
如果真 (hWnd ≠ 0)
className = 窗口_取类名 (hWnd)
如果真 (LocalSize (lParam) = 8) ' 上面申请的是8个字节
pAddr = __get (lParam, 0) ' 数组栈地址
pTmp = __get (lParam, 4)
如果真 (pTmp ≠ 0)
szStr = 指针到文本 (pTmp)
pAddrOld = 指针转移 (pAddr, 取指针_通用型_数组 (array)) ' 使用这个可以避免自己处理扩充内存的操作,转移后直接使用E的操作方式操作
如果 (取文本长度 (szStr) > 0)
如果真 (到小写 (szStr)到小写 (className))
加入成员 (array, hWnd)

加入成员 (array, hWnd)
指针还原 (pAddr, 取指针_通用型_数组 (array), pAddrOld) ' 有转移就要有还原,不然被释放的就是上面的数组了
返回 ()

返回 ()
子程序名返回值类型公开备 注
取指针_通用型_数组整数型 取到的是变量在栈中的地址,和 取变量地址() 一样
参数名类 型参考可空数组备 注
变量整数型
置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })
返回 (0)

词条作者信息
项目部004 -  一个月只活跃几分钟
使用例程
评论列表   发现违规评论、广告、刷屏,请点击举报(有奖)
无评论 评论
  • Copyright © ijingyi.com All Rights Reserved.