VB 模拟点击窗口中的某一点坐标
假如有一个窗口标题是“我的窗口”,句柄是“123456789”,窗口大小是:1000*1500。现在我用VB设计一个程序模拟鼠标点击这个窗口中坐标为:(350,500)的...
假如有一个窗口标题是“我的窗口”,句柄是“123456789”,窗口大小是:1000*1500。现在我用VB设计一个程序模拟鼠标点击这个窗口中坐标为:(350,500)的这一个点。请问这该如何实现啊?这个程序确实有点麻烦,但实现后我还可以加100甚至更多分。
27115 理解错误了。我说的是窗口坐标,而mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 350,500, 0 是点击屏幕坐标。还有(350,500)只是我的举例!!
小和尚的思路我原来也想到,但从窗口坐标转为屏幕坐标有点难度……——……。
27115 注意,窗口上控件的句柄没有给出!虽然可以列举窗口所有控件,但VB中并不是所有的控件都能列举出来的,例如image控件就不能!
Winnip888 ,我可没心情玩游戏! 展开
27115 理解错误了。我说的是窗口坐标,而mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 350,500, 0 是点击屏幕坐标。还有(350,500)只是我的举例!!
小和尚的思路我原来也想到,但从窗口坐标转为屏幕坐标有点难度……——……。
27115 注意,窗口上控件的句柄没有给出!虽然可以列举窗口所有控件,但VB中并不是所有的控件都能列举出来的,例如image控件就不能!
Winnip888 ,我可没心情玩游戏! 展开
3个回答
展开全部
法一:
可以人为地调用鼠标单击事件过程,如有一个鼠标单击事件:
Sub Form_MouseDown(Button As Integer, X As Integer, Y As Integer)
...
End Sub
调用Form_MouseDown(。。。)
法二:
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const BM_CLICK = &HF5
Private Const MK_LBUTTON = &H1
'其中hwnd是被点击控件的句柄,X,Y就是要点击的坐标(以被hwnd控件为基础)
PostMessage hwnd, BM_CLICK, MK_LBUTTON, y * 65536 + x
-----------
Me.hwnd
可以人为地调用鼠标单击事件过程,如有一个鼠标单击事件:
Sub Form_MouseDown(Button As Integer, X As Integer, Y As Integer)
...
End Sub
调用Form_MouseDown(。。。)
法二:
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const BM_CLICK = &HF5
Private Const MK_LBUTTON = &H1
'其中hwnd是被点击控件的句柄,X,Y就是要点击的坐标(以被hwnd控件为基础)
PostMessage hwnd, BM_CLICK, MK_LBUTTON, y * 65536 + x
-----------
Me.hwnd
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
莫非你要搞游戏?要是搞游戏的话用按键精灵。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询