mit labelinhalt die taste für keys bestimmen.

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    mit labelinhalt die taste für keys bestimmen.

    Wunderschönen guten abend,

    Ich bin für den Clan oder so meines Betreuers jetzt einen Autokicker am schreiben
    Das Autoklicken etc. funktioniert an sich alles.

    Nun wurde ich aber darum gebeten, doch eine möglichgkeit ein zu bauen das man selber eine taste festlegen kann mit der das ganze gestartet wird.

    Das ist der Code den ich aktuell zum Starten des Autoklickens nutze:

    VB.NET-Quellcode

    1. If GetAsyncKeyState(Keys.F8) = -32767 Then


    Wie kann ich dem keys nun anweisen den inhalt der label, als key anzunehmen. Das zb in der Label F8 steht und der befehl keys dann auch darauf reagiert, wenn ich f8 drücke.


    danke schon mal.
    @clubstorm Frage falsch formuliert. =>
    Wie kann ich eine Taste als HotKey vorgeben?
    Mach einen dafür ausgelegten Dialog mit nem Label, wo ne Beschreibung drunne steht.
    Einen OK- und einen Abbruch-Button
    eine TextBox, wo Du in deren KeyDown-Event den KeyCode abfragst
    und ein weiteres Label, wo Du diesen KeyCode.ToString() anzeigst.
    Feddich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @clubstorm Gib besagtem Dialog eine Property vom Typ Keys:

    VB.NET-Quellcode

    1. Public Property MyKey As Keys
    und dann so:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private MyKey As Keys
    3. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    4. Me.MyKey = Keys.X ' ein Default-Wert
    5. End Sub
    6. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    7. Using dlg = New Form2
    8. If dlg.ShowDialog() <> DialogResult.OK Then
    9. Return
    10. End If
    11. Me.MyKey = dlg.MyKey
    12. End Using
    13. End Sub
    14. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    15. If GetAsyncKeyState(Me.MyKey) = -32767 Then
    16. ' was tun
    17. End If
    18. End Sub
    19. End Class
    Die gewählte Taste solltest Du dann in den Settings ablegen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke danke, aber mir als totalen anfänger, hilft das so nicht weiter, habe es alles eingebaut, aber wenn ich dann den button klicke, die form2 öffnet sich zwar aber da ist dann nichts.

    naja hehe habe den code so verstanden das er eine einstellung generiert in der form2 also elemente.

    Gibt es irgendwie was einfachere.

    Ansonsten, muss der clan meines betreuer damit klar kommen das ich eben eine taste festlege im code und fertig.

    Denn hier für fehlt mir wohl noch einiges an wissen, um zu wissen wie und was mit dem code von dir anfangen.

    Eine Lösung hatte ich bereits hin bekommen, das Problem war nur, sie funktionierte nicht wenn ich ausserhalb der form bin und genau das soll ja.
    Weil die ja damit in ark was machen wollen.

    Warte ich schreibe meine lösung mal, vielleicht kann man die ja in verbindung bringen mit der If GetAsyncKeyState abfrage.


    meine lösung:

    Visual Basic-Quellcode

    1. Private Sub form1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown, MyBase.KeyDown
    2. If CheckBox2.Checked = False Then
    3. TextBox2.Clear()
    4. TextBox2.Text &= e.KeyCode.ToString
    5. End If
    6. If CheckBox2.Checked = True Then
    7. TextBox3.Clear()
    8. TextBox3.Text &= e.KeyCode.ToString
    9. End If
    10. If CheckBox2.Checked = True Then
    11. If TextBox3.Text = TextBox2.Text Then
    12. If Label1.Text = "nicht gestartet" Then
    13. Timer1.Start()
    14. Label1.Text = "gestartet"
    15. If RadioButton2.Checked = True Then
    16. Timer2.Interval = TextBox1.Text
    17. End If
    18. ElseIf Label1.Text = "gestartet" Then
    19. Timer1.Stop()
    20. Timer2.Stop()
    21. Label1.Text = "nicht gestartet"
    22. End If
    23. End If
    24. End If
    25. End Sub


    :)

    clubstorm schrieb:

    meine lösung:
    Beschreib mal verbal, was da passieren soll.
    Und dann sag Deinem Chef, dass Du keine Ahnung hast, sonst passiert da noch was ganz anderes. :/
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Also es geht um den Clan oder so, meines Betreuers, ich habe aufgrund psychischer erkrankung einen betreuer.
    Und er hat nun von mir erfahren das ich einen Autoklicker geschrieben habe,
    und hat gefragt ob ich den eventuell erweitern könnte, und das Logo
    seines clans oder wie auch immer verpassen kann.

    Die wollen damit irgend etwas ingame bei ARK machen.

    ich sagte dem zu, habe auch soweit alle Funktionen fertig.

    Was ich nun noch brauche ist, das man im Programm eine gewünschte taste festlegen kann mit der man den autoklick starten kann.

    Und so wird das worum es geht ausgeführt, bzw das wird ausgeführt.

    VB.NET-Quellcode

    1. Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
    2. 'Hier wird die Maus auf die Koordinaten geschoben
    3. mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 'Damit wird die linke Maustaste gedrückt
    4. mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) 'Damit wird die linke Maustaste losgelassen
    5. Timer1.Stop()
    6. End Sub

    @clubstorm Das Festlegen der Taste habe ich Dir in Post #3 beschrieben, den elementar einfachen Code solltest Du allein rauskriegen.
    Das Übernehmen dieses Keys findest Du im Post #5.
    Das mit dem Auto-Klick sieht nach einem ungewünschten Vorteil in so wasw wie einem Spiel aus, das unterstützen wir hier nicht.
    Damit ist für mich Schluss hier.
    Sorry.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Nein in diesem Fall verschafft sich keiner einem anderen gegenüber einen voreilt, da jeder in dem clan die Software bekommen soll, und die Software auf dem clan eigenen gameserver eingesetzt wird, wo eben nur die clan mitglieder spielen.

    Ich Persönliche habe mit dem Clan nichts zu tun, es war von meinem Betreuer, ledeglich eine anfrage ob ich ihm das für seinen clan entwickeln kann.
    Naja habe ja auch soweit alles fertig nur das fehlt.

    Und eines verstehe ich an dem code nicht, was für ein dialog, und warum show dialog

    clubstorm schrieb:

    was für ein dialog, und warum show dialog
    Einer, der bei Dir wohl noch nicht vorhanden ist, aber dafür gedacht ist, dass man sich den entsprechenden Key raussuchen kann. Rein optionale Geschichte.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    clubstorm schrieb:

    Und eines verstehe ich an dem code nicht

    RodFromGermany schrieb:

    Mach einen dafür ausgelegten Dialog mit nem Label, wo ne Beschreibung drunne steht.
    Gugst Du hier: Dialoge: Instanziierung von Forms und Aufruf von Dialogen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    moment, wieso ein dialog wo eine beschreibung drinne steht, eine beschreibung worüber.

    Es geht mir doch darum eine möglichkeit einzu bauen das die spieler des clans sich im programm eine taste beliebig festelegen können mit der sie dann den autoklick event ausführen können, wie soll denn da irgendeine beschreibung weiter helfen.

    oder verstehe ich hier was nicht?


    wie gesagt bin totaler anfänger in sachen vb, mini mal bzw das einfachste, kann ich gewisser massen, aber sowas noch nicht so.





    Also teils hatte ich mir die sache sogar schon gelöst. was ich eigentlich nur noch brauch ist ein befehl, bzw code, der einen tastendruck erkennt auch wenn ich mich ausserhalb der form befinde.

    e.keycode.tostring, macht dieses ja innerhalb der form, wenn ich zb sage textbox2.text = e.keycode.tostring, dann wird ja in der textbox die taste angezeigt, die ich drücke, nur funktioniuert es mit e.keycode.tostring nur innerhalb der form, und ich bräuchte nur was, was auch den tasten druck ausserhalb der form erkennt wie der e.keycode befehl.

    Mehr brauche ich eigentlich nicht, denn rest habe ich mir schon entwickelt, was sogar eine ganz einfache sache ist , aber tatsächlich funktionieren würde :)




    Das ist es was ich bereits geschrieben hatte, was auch inenrhalb der form perfekt funktionierte.

    VB.NET-Quellcode

    1. im form1 keydown
    2. if checkbox.checked = false then
    3. textbox2.text = e.keycode.tostring <<<<<< hier wird die gewünschte taste festgelegt
    4. end if
    5. if checkbox.checked = true then
    6. textbox3.text = e.keycode.tostring <<<< hier wird der tastendruck abgefragt und in der textbox3 ausgegeben
    7. end if
    8. im timer3 event
    9. if textbox3.text = textbox2.text then <<<<< hier wird nun ein vergleich gemacht, ob der inhalt der textbox3 der selbe ist wie der der textbox2 wo die taste festgelegt wurde.
    10. timer2.start() <<< hier wird der autoklick ausgeführt
    11. end if



    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „clubstorm“ ()

    Mach Dir nen Dialog, der

    VaporiZed schrieb:

    dafür gedacht ist, dass man sich den entsprechenden Key raussuchen kann
    also

    clubstorm schrieb:

    der einen tastendruck erkennt auch wenn ich mich ausserhalb der form befinde
    . Die Tastendruckerkennung erfolgt ja über einen beliebigen KeyDown-EventHandler. Ob der nun im Hauptform oder einem Nebenform ist, ist wurscht. Wenn aber in einem Nebenform, dann musst Du Dir auch formübergreifend merken, was Du im Nebenform quasi als Wunschkey gespeichert hast. Und dazu findest Du Tipps in dem von RfG verlinkten und verfassten Thread.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    clubstorm schrieb:

    wieso ein dialog wo eine beschreibung drinne steht
    Weil Du ansonsten allen Code, insbesondere auch Einstellungen und solch Zeugs in einem einzigen Fenster verwaltest.
    Siehst Du so was bei Word, Excel und Co?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!