2 Tipps, für einen Einsteiger :)

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Nikx.

    2 Tipps, für einen Einsteiger :)

    Also hey, ich bin relativ neu hier, und allgemein im Coden :)
    Problem 1:


    Also ich habe 2 kleine Probleme, ich habe mir einen Kleinen Bot gemacht, der auch soweit funktioniert.
    Jedoch möchte ich jetzt machen, dass er auch alle paar Sekunden, W, A, S und/oder D drückt.
    Also man kann auwählen, welche taste gedrückt werden soll.
    Ich habe das jetzt so gemacht :

    VB.NET-Quellcode

    1. Private Sub Timer15_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer15.Tick
    2. SendKeys.Send("{S}")
    3. If ListBox3.Text = "1"
    4. ThenThreading.Thread.Sleep(1000)
    5. ElseIf ListBox3.Text = "2"
    6. Then Threading.Thread.Sleep(2000)
    7. ElseIf ListBox3.Text = "3"
    8. Then Threading.Thread.Sleep(3000)
    9. ElseIf ListBox3.Text = "4"
    10. Then Threading.Thread.Sleep(4000)
    11. ElseIf ListBox3.Text = "5"
    12. Then Threading.Thread.Sleep(5000)
    13. ElseIf ListBox3.Text = "6"
    14. Then Threading.Thread.Sleep(6000)
    15. ElseIf ListBox3.Text = "7"
    16. Then Threading.Thread.Sleep(7000)
    17. End If
    18. End Sub


    So sieht der Timer bei mir aus.


    VB.NET-Quellcode

    1. If CheckBox17.Checked Then
    2. Timer13.Start()
    3. Timer13.Interval = TextBox15.Text
    4. End If


    Und das ist der Start button.

    Mir ist aber aufgefallen, dass er nur 1 mal S drückt, also man kann es nicht auswählen.
    Jedoch hätte ich aber gerne das man es auswählen kann bzw einstellen kann. Und gibt es eine
    Möglichkeit das er die Taste gedrückt hält, oder kann er nur Tasten Tippen ?

    Problem 2 :

    Ich würde gerne, dass wenn das Prgramm läuft, und ich z.B. F12 drücke, dass das programm dan anfängt,
    z.B. Tasten zu drücken. Und das man mit z.B. F11 den Prozess anhalten kann.
    Ist das möglich ? ^^

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Fritz94“ ()

    Und gibt es eine
    Möglichkeit das er die Taste gedrückt hält
    WinAPI: keybd_event

    Ich würde gerne, dass wenn das Prgramm läuft, und ich z.B. F12 drücke, dass das programm dan anfängt,
    z.B. Tasten zu drücken. Und das man mit z.B. F11 den Prozess anhalten kann.
    Ist das möglich ? ^^


    WinAPI: GeyAsyncKeyState


    PS: Das warten des Programms mittels einer If-Abfrage zu machen ist wohl der ungünstigste Weg. Zu hast die Zahlen, die könntest (mit ein klein wenig Umkonvertierung) auch direkt an die Sleep() Funktion schicken.
    Hallo Fritz94,

    jetzt ganz im Ernst.

    Ich mach auch ab und zu etwas - und zwar ein Häufchen in die Schüssel.

    VB Code macht man nicht - man programmiert oder erstellt ihn.
    Regt mich im Forum schon länger auf - gehört wohl in die Kategorie "gutes Deutsch".

    Gruss

    mikeb69

    Fritz94 schrieb:

    So jetzt kann mans aber normal lesen
    Also unter lesbar stelle ich mir anneres vor:

    VB.NET-Quellcode

    1. Private Sub Timer15_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer15.Tick
    2. SendKeys.Send("{S}")
    3. If ListBox3.Text = "1" Then
    4. Threading.Thread.Sleep(1000)
    5. ElseIf ListBox3.Text = "2" Then
    6. Threading.Thread.Sleep(2000)
    7. ElseIf ListBox3.Text = "3" Then
    8. Threading.Thread.Sleep(3000)
    9. ElseIf ListBox3.Text = "4" Then
    10. Threading.Thread.Sleep(4000)
    11. ElseIf ListBox3.Text = "5" Then
    12. Threading.Thread.Sleep(5000)
    13. ElseIf ListBox3.Text = "6" Then
    14. Threading.Thread.Sleep(6000)
    15. ElseIf ListBox3.Text = "7" Then
    16. Threading.Thread.Sleep(7000)
    17. End If
    18. End Sub

    Es ist ganz einfach: Wenn man VB-Tag richtig benutzen tut, kann man Code direkt ausm VS einpasten, und sieht fast genauso aus.

    Zur Frage: Wie soll der User denn bestimmen können, welche(r) Key(s) von WASD gesendet wird?
    Ich habe da 4 Checkboxen, die auch soweit Funktionieren, also wird auch der die ausgewählte das Taste gedrückt!
    Also mit einstellen, meine ich wie oft er den Knopf drückt.

    mit

    VB.NET-Quellcode

    1. SendKeys.Send("{S XXX}")

    Könnte man eine feste zahl einstellen, aber ich möchte das man die zahl einstellen kann.
    es würde auch reichen wenn man diese von 1-5 einstellen könnte. Bloß leider bekomme ich das nicht hin ._.
    Ich würde mal sagen dass du dafür die WinAPI nimmst und dass dann mit
    KeyUp / KeyDown löst.

    Benutz mal die Suche, gabs schon oft -.-
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
    Wie gesagt, ich drücke Start. Und da drückt das programm einfach 5 mal hintereinander W,W,W,W,W dann Sleep, dann wieder W,W,W,W,W
    Also praktisch eine endlos Schleife, außer man drückt auf stop.
    Haste jetzt verstanden wie ich es meine ? o:
    Ja und du hast alles was du benötigst. Du hast WinAPIs um die Tasten F11 und F12 zu kontrollieren ob sie gedrückt wurden und entsprechend zu handeln. Du hast die Info dass man das mehrmalige Drücken mittels einer Schleife machen kann (irgendwie auch logisch) und du hast die Info dass das längere drücken einer Taste mittels der WinAPI keybd_event realisieren kannst. Jetzt liegt es an dir dich darüber zu informieren und dein vorhaben umzusetzten.
    @Dodo

    Sorry, hatte ich übersehen ;)
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!