查看: 9  |  回复: 0
  VB6 代码管家-枚举所有子(句柄),(类名),(标题)
楼主
发表于 2024年12月8日 22:33
Private Sub Command1_Click()
	If Val(Text1.Text) <> 0 Then '如果输入的父句柄不等于零
		List1.Clear
		EnumChildWindows Text1.Text, AddressOf abc, ByVal 0& '参数abc为模块中的地址
	End If
End Sub
'----------------------以上是窗体代码----------------------


Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpclassname As String, ByVal nMaxCount As Long) As Long
'-----------------------------声名取类名API
Public Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
'-----------------------------声名枚举子句柄API
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
'-----------------------------声名取标题API
Public Function abc(ByVal hwnd As Long, ByVal lParam As Long) As Long
	Dim leiming As String * 50                     '声名字符串变量,大小为50
	Dim biaoti As String * 100                     '声名字符串变量,大小为100
	GetClassName hwnd, leiming, 50                 '取类名
	GetWindowText hwnd, biaoti, 100                '取标题
	
	If InStr(leiming, Chr(0)) > 0 Then             '如类名中有特殊符号vbNullChar
		leiming = Replace(leiming, Chr(0), "")         '则替换特殊符号vbNullChar为""
	End If
	If InStr(biaoti, Chr(0)) > 0 Then              '如果标题中有特殊符号vbNullChar
		biaoti = Replace(biaoti, Chr(0), "")           '则替换特殊符号vbNullChar为""
	End If
	
	Form1.List1.AddItem hwnd & " , " & leiming & " , " & biaoti '分别把句柄,类名,标题加载到list1
	
	abc = 1                                        '这个参数不晓得是什么怪物
End Function
'----------------------以上是标准模块代码----------------------


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com