我已经开始构建机器人,我已经尝试将鼠标位置存储在变量x和y上,然后我点击开始将鼠标移动到该位置但是我启动机器人的位置不正确。我怎样才能得到它的真实位置。我试过这样但是我无法在web浏览器中获得鼠标x,y的正确位置
我已经制作了一个问题的gif图像imgur链接https://imgur.com/a/QQLQX我也编辑我的代码并尝试不同的方式但我无法得到正确的位置
这是我的代码
Public Class Form1
Dim horas
Dim minutos
Dim segundos
Dim milesimos
Dim ratobutao
Dim tipoclick
Dim repetir
Dim currentelocal
Dim xmouse
Dim ymouse
Dim WithEvents htmldoc As HtmlDocument
Private Sub htmldoc_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.HtmlElementEventArgs) Handles htmldoc.MouseMove
'TextBox5.Text = e.MousePosition.X.ToString
'TextBox6.Text = e.MousePosition.Y.ToString
'xmouse = e.MousePosition.X.ToString
'ymouse = e.MousePosition.Y.ToString
End Sub
Private Sub htmldoc_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.HtmlElementEventArgs) Handles htmldoc.MouseDown
'xmouse = e.MousePosition.X.ToString
'ymouse = e.MousePosition.Y.ToString
'TextBox5.Text = e.MousePosition.X.ToString
'TextBox6.Text = e.MousePosition.Y.ToString
xmouse = Me.Width / WebBrowser1.Width
ymouse = Me.Height / WebBrowser1.Height
TextBox5.Text = e.MousePosition.X.ToString
TextBox6.Text = e.MousePosition.Y.ToString
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
WebBrowser1.Navigate("www.google.com")
For Each c As Control In Controls
AddHandler c.MouseClick, AddressOf ClickHandler
Next
End Sub
Private Sub ClickHandler(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
Select Case e.Button
Case MouseButtons.Left
MsgBox("left mouse")
TextBox5.Text = xmouse
TextBox6.Text = ymouse
Label2.Text = "Left"
Case MouseButtons.Right
Label2.Text = "Right"
Case MouseButtons.Middle
Label2.Text = "Middle"
Case Else
Label2.Text = "Some other button"
End Select
End Sub
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
htmldoc = WebBrowser1.Document
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox5.Text = xmouse
TextBox6.Text = ymouse
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Windows.Forms.Cursor.Position = New Point(xmouse, ymouse)
Timer1.Stop()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Timer1.Start()
End Sub
End Class
事实上之后尝试了许多不同的方法来获得它。我已经解开了这个谜团:)这很容易,但那里没有那么多的信息,而且英语不是我的母语,我尝试搜索的方式可能效率不高。但我觉得它很完美。这是工作代码
Private Sub htmldoc_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.HtmlElementEventArgs) Handles htmldoc.MouseDown
xmouse = Control.MousePosition.X.ToString()
ymouse = Control.MousePosition.Y.ToString()
TextBox5.Text = xmouse
TextBox6.Text = ymouse
End Sub