Wenn eine Taste gedrückt wurde, soll zu einer anderen Stelle im Programm gesprungen werden

  • Hi Leute,

    ich bin absoluter Neuling bei Auto it, habe allerdings schon Erfahrungen in Basic oder Bascom. Wenn ich die Seiten im Internet so durchgehe, stelle ich doch Ähnlichkeiten zwischen den Spachen fest, aber alles was ich finde und versuche umzusetzen, funzt nicht. Wie oben schon erwähnt, soll das Programm nach dem Starten so lange warten, bis zB. F9 gedrückt wird. Dann soll es zu einem anderen Teil im Programm springen. Folgendes habe ich im Internet gefunden, aber es funktioniert nicht. Mel ne Frage: Die erste Zeile spricht bestimmt die Tastatur an oder wozu ist die gut?

    Zum Befehl "Goto" kann ich generell wenig bis garnichts im Internet finden. Wäre für geduldige Hilfe sehr dankbar :S

    Local $hDLL = DllOpen("user32.dll")

    while 1

    If _IsPressed("78", $hDLL) Then

    goto, start

    endif

    wend


    :start

  • Code
    Local $hDLL = DllOpen("user32.dll")
    while 1
        If _IsPressed("78", $hDLL) Then
            start()
        endif
    wend
    
    Func start()
    
    EndFunc

    Hallo,
    ich habe jetzt einfach mal Deinen Code genommen und "umgewandelt".
    Schau in der Hilfe nach dem Konzept von Func ... EndFunc
    Wenn es unklar ist, dann erneut fragen.

  • So ist besser...

    Einmal editiert, zuletzt von Bitnugger (6. Juli 2022 um 16:42)

  • Bitnugger

    Deine Schleife aus #5 erzeugt bei mir ordentlich CPU-Last. Was spricht bei Anwendungen, die im Hintergrund laufen und nur auf Tastendruck reagieren, gegen die Funktion

    Code
    HotKeySet("key", "function")
  • Deine Schleife aus #5 erzeugt bei mir ordentlich CPU-Last. Was spricht bei Anwendungen, die im Hintergrund laufen und nur auf Tastendruck reagieren, gegen die Funktion

    Im äußeren While...WEnd fehlte ein Sleep(100)... aber ja, ich würde es auch mit HotKeyset oder GUISetAccelerators machen.

    Einmal editiert, zuletzt von Bitnugger (6. Juli 2022 um 17:18)