Hallo liebe Community,
Ich bin gerade dabei in meinem Programm einen Mausklick zu simulieren es funktioniert auch alles soweit so gut nun möchte ich aber weiterhin am PC arbeiten und möchte deshalb nicht das mir die Maus immer weg gezogen wird.
Ich habe es mit diesem Befehl probiert: (Visual Basic 2010 Express)
Nun habe ich das Problem das SendMessage unterstrichen wird und einen Fehler bringt.
vorerst ist das Fenster mal nicht minimiert das wird mein nächstes Projekt aber erstmal zu dem Klick Problem ich hoffe ihr könnt mir helfen.
Die Positionen ermittel ich übrigens über einen Timer
Hier noch der bisherige Quellcode
Schon mal im voraus Vielen Dank für Eure Hilfe
Mfg BadAng3lDoM
Ich bin gerade dabei in meinem Programm einen Mausklick zu simulieren es funktioniert auch alles soweit so gut nun möchte ich aber weiterhin am PC arbeiten und möchte deshalb nicht das mir die Maus immer weg gezogen wird.
Ich habe es mit diesem Befehl probiert: (Visual Basic 2010 Express)
VB.NET-Quellcode
- Private Declare Ansi Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Keys, ByVal lParam As Integer) As Integer
- Private Const WM_LBUTTONUP As Long = &H202
- Private Const WM_LBUTTONDOWN As Long = &H201
- Dim ClickPos As Integer = MakeDWord(80, 230)
- SendMessage(WindowHandle.Item(WindowToSendTo), WM_LBUTTONDOWN, Keys.LButton, ClickPos)
- SendMessage(WindowHandle.Item(WindowToSendTo), WM_LBUTTONUP, Keys.LButton, ClickPos)
- Private Function MakeDWord(ByVal LoWord As Integer, ByVal HiWord As Integer) As Integer
- MakeDWord = (HiWord * &H10000) Or (LoWord And &HFFFF&)
- End Function
Nun habe ich das Problem das SendMessage unterstrichen wird und einen Fehler bringt.
vorerst ist das Fenster mal nicht minimiert das wird mein nächstes Projekt aber erstmal zu dem Klick Problem ich hoffe ihr könnt mir helfen.
Die Positionen ermittel ich übrigens über einen Timer
Hier noch der bisherige Quellcode
VB.NET-Quellcode
- 'Objekte Deklarieren
- Imports System.Runtime.InteropServices
- Public Class StartForm
- Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer)
- Private Const MOUSEEVENTF_LEFTDOWN = &H2
- Private Const MOUSEEVENTF_LEFTUP = &H4
- 'Info Ausgeben
- Private Sub StartForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Hilfe.Text = "F2 drücken um Koordinaten zu speichern."
- End Sub
- 'Koordinaten erkennen
- Private Sub Koordinaten_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Koordinaten.Tick
- X.Text = "X-Position " & MousePosition.X & " Pixel"
- Y.Text = "Y-Position " & MousePosition.Y & " Pixel"
- End Sub
- 'Tastendruck überwachung vom System
- <DllImport("user32.dll")> _
- Public Shared Function GetAsyncKeyState(ByVal vKey As System.Windows.Forms.Keys) As Short
- End Function
- Private Sub t_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles t.Tick
- If GetAsyncKeyState(Keys.F2) = -32767 Then
- PositionSaveX.Text = MousePosition.X
- PositionSaveY.Text = MousePosition.Y
- Koordinaten.Enabled = False
- X.Visible = False
- Y.Visible = False
- PositionSaveX.Visible = True
- PositionSaveY.Visible = True
- End If
- End Sub
- 'Timer für den Clicker
- Private Sub Clicker_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Clicker.Tick
- Clicker.Interval = ((IntervalBox.Text) * (1))
- If PositionSaveX.Visible = False Then
- MsgBox("Bitte speichern sie die Koordinaten!", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "ERROR")
- Else
- Clicker.Enabled = True
- Cursor.Position = New Point(PositionSaveX.Text, PositionSaveY.Text)
- mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
- mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
- End If
- End Sub
- 'Start Button Klicken
- Private Sub Start_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Start.Click
- If IntervalBox.Text = ("") Then
- MsgBox("Bitte geben sie ihren Interval ein!", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "ERROR")
- Else
- Clicker.Enabled = True
- Status.Text = "Gestartet"
- Status.Visible = True
- End If
- End Sub
- 'Stop Button klicken
- Private Sub StopClick_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopClick.Click
- If IntervalBox.Text = ("") Then
- MsgBox("Bitte starten sie vorher den Clicker!", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "ERROR")
- Else
- Status.Text = "Gestoppt"
- Status.Visible = True
- Clicker.Enabled = False
- Clicker.Interval = 1
- End If
- End Sub
- 'Login Button klicken
- Private Sub Login_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Login.Click
- BrowserOpen.Show()
- End Sub
- 'Beenden Button Klicken
- Private Sub Beenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Beenden.Click
- Me.Close()
- End Sub
- End Class
Schon mal im voraus Vielen Dank für Eure Hilfe
Mfg BadAng3lDoM