VB窗口句柄遍历代码有关问题

VB窗口句柄遍历代码问题
下面的代码是我抄别人```
不知道怎么把得到的句柄放到变量里
运行它``它会弹出句柄````
怎么才能把得到的句柄放到我HUND里啊


Option Explicit
Dim HUND //这是我自己加上去的代码
Private Sub Command1_Click()
Dim Tmp As Long
  SendMessageCallback -1, 15, 0, 0, AddressOf SednAsyncProc, Tmp
我想在这里弹出“刀剑”的窗口```可是没句柄
End Sub


下面是模块的代码
Option Explicit
Public Declare Function SendMessageCallback Lib "user32" Alias "SendMessageCallbackA" (ByVal hWnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long, ByVal lpResultCallBack As Long, ByVal dwData As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long

Public Function SednAsyncProc(ByVal hWnd As Long, ByVal uMsg As Long, ByVal dwData As Long, ByVal lResult As Long) As Long
Dim szTitalBuffer As String * 1024
Dim sf As String * 254

  GetWindowText hWnd, szTitalBuffer, 1024
  If InStr(szTitalBuffer, "刀剑") <> 0 Then MsgBox hWnd
End Function
怎么实现?知道的说一下``
VB我本人没基础
因为按键精灵被屏遮了```才想学VB```

------解决方案--------------------
If InStr(szTitalBuffer, "刀剑") <> 0 Then HUND=hWnd 

------解决方案--------------------
"因为按键精灵被屏遮了```才想学VB```"
如果按鍵精灵都被屏蔽了,就说明 刀剑 做了特殊处理,HOOK了系统的API,发现谁在枚举自己的窗口句柄就返回0.
你使用VB也是一样获取不到的.
这个需要进一步了解API才行,了解其屏蔽使用的手段,然后反屏蔽.
这个不是开始学VB的人能办到的.
------解决方案--------------------
我测试了下,看样子可能是楼上说的那样被屏蔽了
------解决方案--------------------
要不你打开一个"记事本"程序测试,如果同时找得到"记事本"确找不到"刀剑",那就说明不是你这段代码本身有问题,而是被屏蔽或其它原因啊
------解决方案--------------------
给你一个微软封装好的: FindWindowLike
http://support.microsoft.com/kb/147659
直接查找出所有类似于"刀剑"的窗口.
如果查找不到,就说明刀剑做了限制.

探讨
1楼``
你的方法不行啊`
我在窗体部分加了``Dim HUND
如果我在模块部分不加 Dim HUND
调式会出错啊``
我用SPY++抓了句柄把得到的句柄转为10进制``结果和上面函数得到的句柄是一样的`所以还是能利用的`
可能是它查到有按键精灵的线程才强迫游戏掉线的吧``
游戏是“刀剑英雄2”
我只想调用模块后
在我窗体部分的变量有它的句柄``我开的不只一个号``
怎么样才可以把几个句柄存入数组变量呢``