Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 02:41

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Zeitabstand in VB.NET

Discussion on Zeitabstand in VB.NET within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
|★|UnReaL's Avatar
 
elite*gold: 136
Join Date: Jun 2013
Posts: 378
Received Thanks: 83
Arrow Zeitabstand in VB.NET

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 ObjectAs EventArgsHandles 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.

Wie kann ich das besser machen?
|★|UnReaL is offline  
Old 03/01/2014, 23:36   #2
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
tolio is offline  
Thanks
1 User
Old 03/01/2014, 23:45   #3
 
|★|UnReaL's Avatar
 
elite*gold: 136
Join Date: Jun 2013
Posts: 378
Received Thanks: 83
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 ObjectAs EventArgsHandles 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 
|★|UnReaL is offline  
Old 03/02/2014, 00:03   #4
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Stichwort: Schleife
qkuh is offline  
Thanks
1 User
Old 03/02/2014, 11:13   #5
 
|★|UnReaL's Avatar
 
elite*gold: 136
Join Date: Jun 2013
Posts: 378
Received Thanks: 83
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.
|★|UnReaL is offline  
Old 03/02/2014, 14:00   #6

 
Syc's Avatar
 
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
Syc is offline  
Thanks
1 User
Old 03/02/2014, 21:40   #7
 
|★|UnReaL's Avatar
 
elite*gold: 136
Join Date: Jun 2013
Posts: 378
Received Thanks: 83
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 ?
|★|UnReaL is offline  
Old 03/02/2014, 22:20   #8
 
elite*gold: 113
The Black Market: 133/2/0
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
PHP Code:
Public Class Form1

    
Private Sub SendToGame(ByVal s As StringByVal 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 ObjectAs EventArgsHandles 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.
Rorc is offline  
Thanks
1 User
Old 03/03/2014, 10:13   #9
 
|★|UnReaL's Avatar
 
elite*gold: 136
Join Date: Jun 2013
Posts: 378
Received Thanks: 83
Danke aber durch diesen Sleep befehl stopt einfach der Browser komplett in der Zeit.
|★|UnReaL is offline  
Old 03/03/2014, 11:59   #10
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Stichwort: Multithreading
qkuh is offline  
Thanks
1 User
Old 03/06/2014, 11:09   #11
 
maxasoft's Avatar
 
elite*gold: 2049
The Black Market: 350/0/0
Join Date: May 2012
Posts: 4,593
Received Thanks: 441
Quote:
Originally Posted by qkuh View Post
Stichwort: Multithreading
Richtig.

Starte deine Sub einfach in einem neuen Thread:

Code:
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
maxasoft is offline  
Old 03/09/2014, 12:39   #12

 
xcyancali's Avatar
 
elite*gold: 155
The Black Market: 1057/0/0
Join Date: Jul 2012
Posts: 24,491
Received Thanks: 2,568
Hallo UnReal,

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
Lg,
xCyancali
xcyancali is offline  
Old 03/09/2014, 12:47   #13
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
^ So macht man es nicht...

Nutz niemals Application.DoEvents()
'Heaven. is offline  
Old 03/09/2014, 13:16   #14
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
^ zu generell, wenn man weiß was man tut gibts auch legit bereiche wo mans verwenden kann. weiteres wie immer im msdn:

btt: threading ist hier angegebracht und sollte auch genutzt werden
tolio is offline  
Old 03/09/2014, 17:04   #15
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Await:Async wäre trotzdem eine bessere alternative
'Heaven. is offline  
Reply


Similar Threads Similar Threads
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!



All times are GMT +1. The time now is 02:42.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.