灰袍法师 发表于 2012-9-10 19:59
啊哈,搞出来了
他妈的一个画图程序,后面都有26个子窗口,要找到正确的那一个,才能发送 鼠标动作给它
...
楼主的程序过于冗长而复杂,这样即可:
Sub kkk()
Dim hwnd As Long, hwnd1 As Long, hwnd2 As Long
hwnd = FindWindow(vbNullString, "未命名 - 画图")
If hwnd Then
hwnd1 = FindWindowEx(hwnd, 0, "AfxFrameOrView42u", vbNullString)
If hwnd1 Then
hwnd2 = FindWindowEx(hwnd1, 0, "Afx:1000000:8", vbNullString)
If hwnd2 Then
send_mouse_drag hwnd2, 200, 200, 200, 300
send_mouse_drag hwnd2, 200, 200, 300, 200
send_mouse_drag hwnd2, 300, 200, 300, 300
send_mouse_drag hwnd2, 300, 300, 200, 300
Exit Sub
End If
End If
End If
End Sub
我原以为你会写关于mouse_event后台运作的程序,却发现你用的是sendmessage作后台运行。
我是苦于有些程序的按钮找不到句柄,又想通过找出X、Y点坐标,让mouse_event在后台运行,如QQ的按钮、115优蛋的按钮。
楼主可否找出解决之道? |