vb.net模拟鼠标点击 vba模拟鼠标双击

VB.NET改变鼠标位置和让鼠标消失几乎找不到真正VB.NETvb.net模拟鼠标点击的apivb.net模拟鼠标点击,都是自己将VB的api改成VB.NET的apivb.net模拟鼠标点击 , vb.net模拟鼠标点击我的理解是声明中对应输入是H的地方保留Long , 其他的Long改成Integer,既然VB.NET连MSDN都找不到较全的api说明 , 不保证api的用法在VB.NET其他版本中适用 。
给vb.net模拟鼠标点击你个好玩的例子,包括鼠标的隐藏(Ctrl_↓)、显示(Ctrl_↑),移动、点击
在Form1上放上2个TextBox,其中TextBox1.Multiline = True , 并且面积大些 , 2个Button,运行后在TextBox1中点击一下会记录位置,移开鼠标,点击移动或点击Button,可模拟在TextBox1中的点击
Public Class Form1
Public My_MousePosition As Point
'模拟鼠标移动、点击
Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
'定义光标的位置
Declare Function SetCursorPos Lib "user32" Alias "SetCursorPos" (ByVal x As Integer, ByVal y As Integer) As Integer
'鼠标的隐藏
Declare Function ShowCursor Lib "user32" Alias "ShowCursor" (ByVal bShow As Integer) As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Multiline = True
Button1.Text = "点击"
Button2.Text = "移动"
Me.KeyPreview = True
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Control And e.KeyCode = Keys.Down Then ShowCursor(0)
If e.Control And e.KeyCode = Keys.Up Then ShowCursor(1)
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
TextBox2.Text = MousePosition.X" "MousePosition.Y
End Sub
Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
My_MousePosition = MousePosition
TextBox1.Text = My_MousePosition.X" "My_MousePosition.YvbCrLf
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SetCursorPos(My_MousePosition.X, My_MousePosition.Y)
mouse_event(H2, 0, 0, 0, 0)
mouse_event(H4, 0, 0, 0, 0)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SetCursorPos(My_MousePosition.X, My_MousePosition.Y)
End Sub
End Class
其中
mouse_event Lib "user32" (ByVal dwFlags As Long
的dwFlags的代码是
Const MOUSEEVENTF_LEFTDOWN = H2
Const MOUSEEVENTF_LEFTUP = H4
Const MOUSEEVENTF_MIDDLEDOWN = H20
Const MOUSEEVENTF_MIDDLEUP = H40
Const MOUSEEVENTF_MOVE = H1
Const MOUSEEVENTF_ABSOLUTE = H8000
Const MOUSEEVENTF_RIGHTDOWN = H8
Const MOUSEEVENTF_RIGHTUP = H10
怎样用VB代码实现鼠标单击的效果给你写了一个示例,你自己可以看明白的:
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Private Const MOUSEEVENTF_ABSOLUTE = H8000 '指定鼠标使用绝对坐标系 , 此时,屏幕在水平和垂直方向上均匀分割成65535×65535个单元
Private Const MOUSEEVENTF_MOVE = H1 '移动鼠标
Private Const MOUSEEVENTF_LEFTDOWN = H2 '模拟鼠标左键按下
Private Const MOUSEEVENTF_LEFTUP = H4 '模拟鼠标左键抬起
Private Const SW = 1024
Private Const SH = 768
Private Sub Screen_Click(ByVal x As Long, ByVal y As Long)
mw = x / SW * 65535
mh = y / SH * 65535
mouse_event MOUSEEVENTF_ABSOLUTEMOUSEEVENTF_MOVE, mw, mh, 0, 0
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
Private Sub Command1_Click()
Screen_Click 512, 384 '点击Command1之后,模拟点击屏幕中间
End Sub
Private Sub Command2_Click()
Print Rnd
End Sub
Private Sub Form_Load()
Me.Height = Me.Width
Command2.Move (Me.ScaleWidth - Command2.Width) / 2, (Me.ScaleHeight - Command2.Height) / 2
End Sub
VB.net 模拟鼠标移动记录轨迹在事件里要记住鼠标的移动轨迹数据并保存到数组里,再用这些数据操作鼠标就是模拟鼠标还原了
还原时要有个时间控制 也就是每秒录制几个鼠标坐标 还原时每秒就移动几个坐标,思路就这样了
【vb.net模拟鼠标点击 vba模拟鼠标双击】vb.net模拟鼠标点击的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于vba模拟鼠标双击、vb.net模拟鼠标点击的信息别忘了在本站进行查找喔 。

    推荐阅读