+ -
当前位置:首页 → 问答吧 → FindWindowEx的应用

FindWindowEx的应用

时间:2011-07-31

来源:互联网

想自动点击外部的一个软件的按钮,窗体能找到,用SPY++找出了按钮的名称,可是在代码上为什么找不到

VB code

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, ByVal lParam As Any) As Long
Private 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
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202

Private Sub Command1_Click()
Dim tWnd1 As Long, tWnd2 As Long
    tWnd1 = FindWindow(vbNullString, "MySQL ODBC 3.51 Driver")
    If tWnd1 <> 0 Then '找到窗体
        tWnd2 = FindWindowEx(tWnd1, 0, 0, "&Next >")
        If tWnd2 <> 0 Then '找到按钮
         '走不到这里来
        SendMessage tWnd2, bm_click, ByVal 0&, ByVal 0&
        End If
    End If
End Sub

作者: yejian520   发布时间: 2011-07-31

我认为是:tWnd2 = FindWindowEx(tWnd1, 0, 0, "&Next >")的问题,具体问题出在:&Next >上,这个是控件的Caption属性,而非名称

作者: Veron_04   发布时间: 2011-07-31

引用楼主 yejian520 的回复:
想自动点击外部的一个软件的按钮,窗体能找到,用SPY++找出了按钮的名称,可是在代码上为什么找不到


VB code


Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As ……

具体怎么改

作者: yejian520   发布时间: 2011-07-31

热门下载

更多