Hey Leute, ich fange im Moment an mit dem Programmieren, als Einstieg will ich einen kleinen "Bot" schreiben für das Spiel Flapmmo.com.
Mein aktueller code sieht erst so aus:
PHP Code:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Id() As Process = Process.GetProcessesByName("firefox")
AppActivate(Id(0).Id)
SendKeys.Send("ENTER")
End Sub
End Class
sprich, er setzt einfach Firefox in den Vordergrund und drückt einmal Enter, springt also einmal, nun will ich aber, dass er weiterhin Enter drückt in von mir geregelten Zeitabständen, ich hab das ganze schon mit sehr vielen Timern versucht, allerdings ist das sehr aufwändig und die Zeit ist irgendwie immer anderst also einfach zu ungenau.
Danke, aber dabei hab ich irgendwie das Problem, dass das nur einmal geht, sprich er führt Sendkeys aus, pausiert, und macht dann nichtsmehr.
PHP Code:
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim Id() As Process = Process.GetProcessesByName("firefox") AppActivate(Id(0).Id) SendKeys.Send("ENTER") Threading.Thread.Sleep(1000) SendKeys.Send("ENTER") Threading.Thread.Sleep(1000) SendKeys.Send("ENTER") End Sub End Class
Tut mir leid ich komme mit diesen vielen Schleifen nicht klar. Könnte mir mal einer ein Beispiel machen ? Die Zeitabstände sollen übrigens verschieden sein können.
Ich verstehe das jetzt einigermaßen, aber kapiere immernoch nicht wie ich das machen soll, dass er immer für eine andere Zeit pausiert, könnte mir das jemand in einem Beispielcode erklären ?
Private Sub SendToGame(ByVal s As String, ByVal d As Integer)
Dim Id() As Process = Process.GetProcessesByName("firefox")
AppActivate(Id(0).Id)
SendKeys.Send(s)
Threading.Thread.Sleep(d)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
SendToGame("Enter", 1250)
End Sub
End Class
Etwas so grob in dem Stil dürfte für dich von Nutzen sein, somit wird dein Code auch nicht unnötig lange, wenn du viele verschiedene Sachen in unterschiedlichen Abständen machen willst.
With New Thread(Sub() deinesub())
.IsBackground = True
.Start()
End With
In deinem Falle also so:
Code:
Public Class Form1
Private Sub SendToGame(ByVal s As String, ByVal d As Integer, ByVal anzahl as Integer)
For i as Integer = 1 to anzahl
Dim Id() As Process = Process.GetProcessesByName("firefox")
AppActivate(Id(0).Id)
SendKeys.Send(s)
Threading.Thread.Sleep(d)
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
With New Thread(Sub() SendToGame("Enter", 1250, 10))
.IsBackground = True
.Start()
End With
End Sub
End Class
ich habe auch schon einige Probleme damit gehabt.
Entweder du Definierst einen neuen Thread und löst das ganze über Threading.Thread.sleep() oder du machst es so:
Code:
Sub sleep(ByVal sleeptime As Integer)
Dim stoppw As New Stopwatch
stoppw.Start()
Do Until stoppw.ElapsedMilliseconds >= sleeptime
Application.DoEvents()
Loop
stoppw.Stop()
stoppw.Reset()
End Sub
Spammer mit Zeitabstand 04/09/2011 - Main - 4 Replies Hallo,ich suche einen Spammer der nach Zeitabstand Sätze schreibt.
z.B Alle 3 Sekunden soll er Hallo schreiben.
Habt ihr ein Programm dafür? Danke im vorraus!