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 ,我可没心情玩游戏!
展开
 我来答
失恋的小和尚
2009-04-14 · TA获得超过1189个赞
知道小有建树答主
回答量:1430
采纳率:0%
帮助的人:1444万
展开全部
这个很简单的问题,使用方法有很多种我给你思路
1。使用MOUSEEVENTF来模拟,只不过需要算出具体坐标是多少!例如你先要获取窗口在屏幕中的位置然后再换算成实际坐标,这个也是相对坐标的问题
2。使用sendmessage给窗口送一个鼠标消息,消息里带上坐标就可以了
27115
2009-04-14 · TA获得超过1116个赞
知道大有可为答主
回答量:1708
采纳率:0%
帮助的人:1059万
展开全部
法一:
可以人为地调用鼠标单击事件过程,如有一个鼠标单击事件:
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Winnip888
2009-04-14 · TA获得超过1996个赞
知道小有建树答主
回答量:676
采纳率:0%
帮助的人:561万
展开全部
莫非你要搞游戏?要是搞游戏的话用按键精灵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式