VB.Net Problem mit Loop

05/18/2012 01:20 DXStriker#1
Heyho E*PvP,
Ich habe vor kurzem angefangen mit VB.net zu arbeiten. Nun habe ich mir für Spaßzwecke einen League of Legends zoomhack programmiert.
Leider gibt es 2 Probleme :

- Das Programm reagiert nicht mehr, wenn ich auf den ON button geklickt habe und das Programm somit in der Loop läuft (sprich ich kann in der Form1 nichts mehr klicken etc.)

- Wie kann ich mit dem OFF button die Loop beenden und dann auf den Normalwert zurückkehren?
Das Programm ist im Anhang und zu 100% clear von Viren.

Code:
Public Class Form1


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Do
            WriteInteger("League of Legends", &HB5852A, 17725)
            Threading.Thread.Sleep(300)
        Loop
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        WriteInteger("League of Legends", &HB5852A, 17675)
    End Sub
End Class
Ich würde mich freuen, wenn mir jemand bei diesem Problem helfen könnte. :/

greetz DXStriker
05/18/2012 02:48 qickly#2
Das ist doch klar, da die Funktion nie beendet wird und damit auch die Form nicht mehr abrufbar ist. Mach das am besten mit einem Timer und ohne Loop....

Timer1.Start()
Timer1.Stop()
05/18/2012 10:34 tolio#3
applicaton.doevents ist das zauberwort ;)

und kA ob Threading.Thread.Sleep(300) überhaupt so an der stelle funktioniert
05/18/2012 10:55 MissUnderstoodOne#4
Die baust einen Thread ein...

Hierzu musst du erst noch eine Funktion erstellen
Und zum Abbrechen baust du eine globale Variable ein...

PHP Code:
private zoom as boolean false
private sub ZoomHack_an()
        while 
zoom
                WriteInteger
("League of Legends", &HB5852A17725)
                
Threading.Thread.Sleep(300)
        
end while
end sub
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        zoom 
true
        dim t 
as new Threading.Thread(AddressOf ZoomHack_an)
        
t.start
    End Sub

Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        zoom 
false
        WriteInteger
("League of Legends", &HB5852A17675)
    
End Sub 
so kannst du das in die Form einfügen, denk ich(Hab das alles Freihand geschrieben...)
05/18/2012 11:58 DXStriker#5
Quote:
Originally Posted by MissUnderstoodOne View Post
Die baust einen Thread ein...

Hierzu musst du erst noch eine Funktion erstellen
Und zum Abbrechen baust du eine globale Variable ein...

PHP Code:
private zoom as boolean false
private sub ZoomHack_an()
        while 
zoom
                WriteInteger
("League of Legends", &HB5852A17725)
                
Threading.Thread.Sleep(300)
        
end while
end sub
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        zoom 
true
        dim t 
as new Threading.Thread(AddressOf ZoomHack_an)
        
t.start
    End Sub

Private Sub Button2_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button2.Click
        zoom 
false
        WriteInteger
("League of Legends", &HB5852A17675)
    
End Sub 
so kannst du das in die Form einfügen, denk ich(Hab das alles Freihand geschrieben...)
Hey danke für die schnelle Antwort. Dacht ich mir schon, dass ich mit dem Loop falsch liege :). Aber sowas hab ich gesucht!

mfg DXStriker


#closerequest
05/18/2012 13:57 Kraizy​#6
Quote:
Originally Posted by tolio View Post
applicaton.doevents ist das zauberwort
Nein lieber nicht :/
Ein extra Thread dafür ist schon richtig so
05/18/2012 14:23 tolio#7
Quote:
Originally Posted by xKraizy View Post
Nein lieber nicht :/
Ein extra Thread dafür ist schon richtig so
sicher ist nen extra thread schöner, aber doevents hat auch so manche vorteile