• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[神梦] 按键精灵中用循环和栈实现递归算法 [复制链接]

1#
标题: VB6、按键精灵中用循环和栈实现递归算法
作者: 神梦无痕(QQ:1042207232)
链接: http://bbs.anjian.com/showtopic-697929-1.aspx
版权: 本人所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
  1. '遍历当前句柄的所有子句柄
  2. Call 遍历所有子句柄(GetForegroundWindow())
复制代码


  1. Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
  2. Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long
  3. Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
  4. Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

  5. Function 遍历所有子句柄(Hwnd)
  6. Dim i, HwndIE
  7. '用循环和栈代替递归:
  8. 栈_数组 = Array() : i = -1 : HwndIE = 0
  9. Do
  10. HwndIE = FindWindowEx(Hwnd, HwndIE, vbNullString, vbNullString)
  11. If HwndIE > 0 Then
  12. sClass = Space(50)
  13. GetClassName HwndIE, sClass, Len(sClass) : sClass = Left(sClass, Len(Trim(sClass)) - 1)
  14. sText = Space(255)
  15. GetWindowText HwndIE, sText, Len(sText) : sText = Left(sText, Len(Trim(sText)) - 1)
  16. TracePrint HwndIE & "|" & sClass & "|" & sText
  17. '------[入栈]------
  18. i = i + 1 : Redim Preserve 栈_数组(i) : 栈_数组(i) = Array(Hwnd, HwndIE)
  19. Hwnd = HwndIE : HwndIE = 0
  20. Else
  21. If i = -1 Then Exit Do
  22. '------[出栈]------
  23. Hwnd = 栈_数组(i)(0) : HwndIE = 栈_数组(i)(1) : i = i - 1
  24. End If
  25. Loop
  26. 栈_数组 = ""
  27. End Function
复制代码

本主题由 超级版主 瑞祥幽冥狼 于 2023/7/6 9:17:40 执行 审核帖子 操作
2#

说的好!

3#

vhjhjghbnmgh

4#

学习一下

脚本定制,欢迎咨询QQ: 2692863915
5#

学习学习

6#

6666666666666666666666666

7#

11111111111111111111111111111

8#

11111111111111

9#

牛皮哥

10#

看看大神的帖子

11#

算法算法

12#

瞅瞅大神,

13#

学习一下,谢谢

14#

看看

15#

看看!!!

16#

994845454545

17#

我是来学习的,感谢大神

18#

来看看

19#

向大神学习

20#

学习了

发新话题 回复该主题