Možné to je, pokud znáte přesné souřadnice, kam chcete kliknout. Souřadnice se ale mohou měnit, například posunutím okna. V tom případě budete potřebovat zjistit pozici okna, abyste mohl dopočítat hledané souřadnice. Pro manipulaci s okny je potřeba volat funkce z Win API, například tyto: FindWindowByCaption, SetForegroundWindow, GetWindowRect. http://www.vbnet.cz/clanek--94-skodorado... Zde na webu najdete článek o simulaci stisku kláves a přikládám kód na ovládání kurzoru myši.
Class MouseAndKeyboard
#Region "API"
<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function SetCursorPos(ByVal X As Integer, ByVal Y As Integer) As Boolean
End Function
<DllImport("user32.dll", SetLastError:=True)>
Private Shared Function GetCursorPos(ByRef point As System.Drawing.Point) As Boolean
End Function
<DllImport("user32.dll", setlasterror:=True)>
Private Shared Sub mouse_event(ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
End Sub
#End Region
Private Const MouseLeftButtonDown As Integer = &H2
Private Const MouseLeftButtonUp As Integer = &H4
Private Const MouseRightButtonDown As Integer = &H8
Private Const MOuseRightButtonUp As Integer = &H10
''' <summary>
''' Simuluje stisk levého tlačítka myši
''' </summary>
Public Shared Sub MouseLeftButton()
mouse_event(MouseLeftButtonDown, 0, 0, 0, 0)
mouse_event(MouseLeftButtonUp, 0, 0, 0, 0)
End Sub
''' <summary>
''' Simuluje stisk pravého tlačítka myši
''' </summary>
Public Shared Sub MouseRightButton()
mouse_event(MouseRightButtonDown, 0, 0, 0, 0)
mouse_event(MOuseRightButtonUp, 0, 0, 0, 0)
End Sub
''' <summary>
''' Simuluje stisk klávesy
''' </summary>
''' <param name="keys">ctrl ^, shift +, alt % (příklad: "^{c}" - kopírovat)</param>
''' <remarks></remarks>
Public Shared Sub PressKey(ByVal keys As String)
System.Windows.Forms.SendKeys.SendWait(keys)
End Sub
Public Shared Sub SetCursorPosition(ByVal X As Integer, ByVal Y As Integer)
SetCursorPos(X, Y)
End Sub
Public Shared Sub SetCursorPosition(ByVal Point As System.Drawing.Point)
SetCursorPos(Point.X, Point.Y)
End Sub
Public Shared Function GetCursorPosition() As Point
Dim p As New Point
GetCursorPos(p)
Return p
End Function
End Class
|