vb点击其他程序上按钮的问题(SendMessage)

SendMessage函数不太会用,前辈大师能否帮助写一段代码,实现点击指定窗体的指定按钮:需要点击:"regediter"窗口里面的"start"按钮。具体数据:"regediter"窗口 的handle:00D3047A 的class:#32770 (Dialog) "start"按钮的handle:000A05EE "start"按钮的class:Button 谢谢!

第1个回答  2013-08-09
VB6.0,用右击任务栏,属性,打开的窗口进行测试,可以按取消按钮,成功Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private 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
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetActiveWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Const BM_CLICK As Long = &HF5Private Sub Command1_Click()
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "任务栏和「开始」菜单属性") '我找的是任务栏属性窗口,这里换成你要找的窗口标题
'MsgBox hwnd
Dim btnhWnd As Long
btnhWnd = FindWindowEx(hwnd, 0, "Button", "取消") '取消是按按钮的标题,你要换成自己的内容
MsgBox btnhWnd
SetActiveWindow hwndSendMessage btnhWnd, BM_CLICK, 0, 0End Sub本回答被网友采纳
相似回答