vb 后台模拟鼠标点击wed控件里的内容
PrivateTypePointAPIXAsLong:YAsLongEndType获取xy轴DimxyAsPointAPI,BarSAsLong,ctSWAsLong,c...
Private Type PointAPI
X As Long: Y As Long
End Type
获取xy轴
Dim xy As PointAPI, BarS As Long, ctSW As Long, ctSH As Long
GetCursorPos xy
X = xy.X: Y = xy.Y
ctSW = (Me.Width - Me.ScaleWidth) / Screen.TwipsPerPixelX * 0.5
ctSH = (Me.Height - Me.ScaleHeight) / Screen.TwipsPerPixelY
BarS = 21
X = X - Me.Left / Screen.TwipsPerPixelX - Me.ScaleX(WebBrowser1.Left, Me.ScaleMode, 3) - ctSW:
Y = Y - Me.Top / Screen.TwipsPerPixelY - Me.ScaleY(WebBrowser1.Top, Me.ScaleMode, 3) - ctSH + ctSW
If X + BarS > Me.ScaleX(WebBrowser1.Width, Me.ScaleMode, 3) Then X = -1 '
If Y + BarS > Me.ScaleX(WebBrowser1.Height, Me.ScaleMode, 3) Then Y = -1 '
form1.Caption = X & " Y=" & Y
以上代码计算出了鼠标位于wed控件的位置坐标 然后 我想在text1 输入x轴 text2输入y 轴 按下command1 鼠标自动在指定位置按下左键并 弹起左键
是点击 wed 控件里面的内容 Call SetCursorPos(x, y)
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
然后移动鼠标并点击我也解决了但是 如何让 xy轴和我的相同 而不是屏幕坐标 展开
X As Long: Y As Long
End Type
获取xy轴
Dim xy As PointAPI, BarS As Long, ctSW As Long, ctSH As Long
GetCursorPos xy
X = xy.X: Y = xy.Y
ctSW = (Me.Width - Me.ScaleWidth) / Screen.TwipsPerPixelX * 0.5
ctSH = (Me.Height - Me.ScaleHeight) / Screen.TwipsPerPixelY
BarS = 21
X = X - Me.Left / Screen.TwipsPerPixelX - Me.ScaleX(WebBrowser1.Left, Me.ScaleMode, 3) - ctSW:
Y = Y - Me.Top / Screen.TwipsPerPixelY - Me.ScaleY(WebBrowser1.Top, Me.ScaleMode, 3) - ctSH + ctSW
If X + BarS > Me.ScaleX(WebBrowser1.Width, Me.ScaleMode, 3) Then X = -1 '
If Y + BarS > Me.ScaleX(WebBrowser1.Height, Me.ScaleMode, 3) Then Y = -1 '
form1.Caption = X & " Y=" & Y
以上代码计算出了鼠标位于wed控件的位置坐标 然后 我想在text1 输入x轴 text2输入y 轴 按下command1 鼠标自动在指定位置按下左键并 弹起左键
是点击 wed 控件里面的内容 Call SetCursorPos(x, y)
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
然后移动鼠标并点击我也解决了但是 如何让 xy轴和我的相同 而不是屏幕坐标 展开
2个回答
展开全部
刚做过类似的程序。。。。。
另外
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
并不是后台点击。。。
另外
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
并不是后台点击。。。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-08-23
展开全部
取一下窗口top left,简单计算即可。用dom不是更方便嘛
追问
直接给源码吧懒得再研究了 再加100悬赏分只要能用 数学不好整了半天误差太大还是没弄好233 我之所以想用鼠标点击wed控件也是有一定的原因的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询