感悟网 导航

VB 模拟点击窗口中的某一点坐标 如何通过input命令模拟点击屏幕上某一坐标?

作者&投稿:超汤 (若有异议请与网页底部的电邮联系)
vb鼠标点击窗口内某一固定坐标怎么做~

Private Function SendClick(hwnd As Long, mX As Long, mY As Long) '发送点击消息 Dim I As Long I = PostMessage(hwnd, WM_LBUTTONDOWN, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000) I = PostMessage(hwnd, WM_LBUTTONUP, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000) End Function

先input看下有哪些命令,是否存在 tap swipe 等。若存在则:tap 点击 , 移动则 swipe如你要模拟点 x , y ,adb shell input tap x y。
函数简介
matlab中,input是一个输入函数。在matlab的命令窗口中输入doc input或help input就可以获得该函数的帮助信息。
调用格式
evalResponse= input('prompt')
strResponse= input('prompt', 's')
其中,第一种形式,prompt是在屏幕上显示的提示字符串,用户通过键盘输入来给evalResponse赋值。
示例:
在命令窗口中输入Val=input('请输入一个整数'),这样在命令窗口中便会显示“请输入一个整数”提示用户进行输入操作,当用户输入一个整数后,便会被赋给Val。
当然,这种调用方式中,也允许用户输入一个表达式,如:1+2+3 ,这个表达式被求值后(6)就会把结果赋给Val。总之,这种调用格式,输入的必须是或者能过通过运算产生一个常量。(你也可以输入'Y'或者'Yes')
第二种格式,是把用户的输入作为一个字符(串),而并不对用户的输入进行求值。
例如: 当你在命令窗口输入str=input('Please input', 's')然后从键盘输入:1+2+3,这样str实际得到的是:'1+2+3'而不是6。
需要注意的是,如果执行本函数时,用户敲了回车而不是输入了一个数,则该函数返回一个空矩阵。可以用matlab中的isempty函数判断输入的是否为空。

这个很简单的问题,使用方法有很多种我给你思路
1。使用MOUSEEVENTF来模拟,只不过需要算出具体坐标是多少!例如你先要获取窗口在屏幕中的位置然后再换算成实际坐标,这个也是相对坐标的问题
2。使用sendmessage给窗口送一个鼠标消息,消息里带上坐标就可以了

法一:
可以人为地调用鼠标单击事件过程,如有一个鼠标单击事件:
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

莫非你要搞游戏?要是搞游戏的话用按键精灵。

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网