Hey @ all,
heute habe ich mal eine etwas schwerere Frage.
Und zwar ist der unten gepostete Code für ein kleines Programm an welchem ich gerade arbeite.
Der Sinn bzw. Zweck des Programms ist meinen Mausklick zu erkennen (egal ob ich auf die Form klicke oder auf Word oder irgendwas sonst) und exact nach einem Intervall von 70 (ca. 1 Sekunde und 130 Millisekunden) einen zweiten Klick simuliert.
Nun zu meinem Problem, eigendlich läuft das Programm schon recht gut. Allerdings kommt der zweite Klick nie exact sonder immer mit einer Toleranz von + - 200 Millisekunden.
Zum Beispiel :
1 Sekunde und 130 Millisekunden
1 Sekunde und 185 Millisekunden
1 Sekunde und 300 Millisekunden
Das ganze sollte aber jedes mal exact bei 1 Sekunde und 130 Millisekunden stoppen.
Was mache ich falsch, ist es überhaupt möglich das ganze für jeden Durchgang exact hinzubekommen ?
Ist mein Code zu lang ?
Hier mein Code :
Wäre klasse wenn mir jemand helfen könnte.
MFG Tizi
heute habe ich mal eine etwas schwerere Frage.
Und zwar ist der unten gepostete Code für ein kleines Programm an welchem ich gerade arbeite.
Der Sinn bzw. Zweck des Programms ist meinen Mausklick zu erkennen (egal ob ich auf die Form klicke oder auf Word oder irgendwas sonst) und exact nach einem Intervall von 70 (ca. 1 Sekunde und 130 Millisekunden) einen zweiten Klick simuliert.
Nun zu meinem Problem, eigendlich läuft das Programm schon recht gut. Allerdings kommt der zweite Klick nie exact sonder immer mit einer Toleranz von + - 200 Millisekunden.
Zum Beispiel :
1 Sekunde und 130 Millisekunden
1 Sekunde und 185 Millisekunden
1 Sekunde und 300 Millisekunden
Das ganze sollte aber jedes mal exact bei 1 Sekunde und 130 Millisekunden stoppen.
Was mache ich falsch, ist es überhaupt möglich das ganze für jeden Durchgang exact hinzubekommen ?
Ist mein Code zu lang ?
Hier mein Code :
VB.NET-Quellcode
- Public Class Form1
- Dim t As New Integer
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- t = (t + 1)
- End Sub
- Private Declare Function GetAsyncKeyState Lib "user32" _
- (ByVal vKey As Long) As Integer
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- t = 1
- Timer2.Start()
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Windows.Forms.Cursor.Position = New Point(TextBox1.Text, TextBox2.Text)
- SimulateClick()
- End Sub
- Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
- If MouseButtons = Windows.Forms.MouseButtons.Left Then
- t = 0
- Timer1.Start()
- End If
- If t = 70 Then
- SimulateClick()
- Timer1.Stop()
- t = 0
- End If
- End Sub
- 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)
- Public Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down
- Public Const MOUSEEVENTF_LEFTUP = &H4 ' left button up
- Public Sub SimulateClick()
- mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
- mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Timer1.Stop()
- Timer2.Stop()
- End Sub
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
- Timer2.Start()
- End Sub
- End Class
Wäre klasse wenn mir jemand helfen könnte.
MFG Tizi
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Tizi93“ ()