Public ChildHwnd As String '缓存子窗体控件句柄
'系统等待, 暂不执行下一语句
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'发送消息
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As
Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As
Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
'主要用来遍历子窗体和子控件句柄
Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal
lpEnumFunc As Long, ByVal lParam As Long) As Long
'获取控件类型
Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hWnd As
Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
'调用 EnumChidWindows 函数开始遍历指定窗口的子窗口(控件). 第一个参数即指定窗口
的句柄, 第二个参数为所需回调函数的地址(由 AddressOf 操作符获得), 第三个参数不用管...
EnumChildWindows Me.hWnd, AddressOf EnumChildProc, ByVal 0&
'这是一个回调函数, 必须放在模块中. 用来遍历指定窗口的子窗口(控件). 这里参数中的
hWnd 即为子窗口(控件)句柄
Public Function EnumChildProc(ByVal hWnd As Long, ByVal lParam As Long) As Long
ChildHwnd = ChildHwnd & "," & hWnd
EnumChildProc = 1
End Function
' 函数: FGetClassName
' 功能: 返回指定窗口中的类型
' 参数: hWnd 指定窗口的句柄
' 返回: 指定窗口的类型
Public Function FGetClassName(hWnd As Long) As String
Dim ClassName As String
Dim Ret As Long
'填充缓冲(如果填充太小返回会不完整).
ClassName = Space(256)