Start/Ende auf Tastendruck?

  • Hallo,
    bin ein riesen anfänger. Habe mir ein Paar Tutorials durchgelesen und gemacht.
    Meine Idee war, einen "Tab-Wechsler" für Mozilla zu scripten, der nach jedem Tabwechsel einmal "Enter" drückt. Habe mir das so gedacht:

    [autoit]

    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Send ("^{TAB}")
    Send ("{enter}")
    Exit

    [/autoit]


    Wenn ich nun jedoch das Script Starte, geht es ja sofort los und mir würde es nicht in Mozilla die Tabs wechseln, sondern etliche andere Dinge anstellen.
    Gibt es einen Befehl dafür, dass sich mein Script erst öffnet, wenn ich eine Bestimmte Taste drücke und auch auf einen bestimmten Tastendruck wieder schließt?

    Und, was ist der befehl für eine Endlosschleife? Also, dass ich nicht 150 mal

    [autoit]

    Send ("^{TAB}")
    Send ("{enter}")

    [/autoit]

    eingeben muss, sondern es automatisch solange läuft, bis ich das Script schließe.

    Danke schonmal im Vorraus!
    Lg, Cry.this

    Einmal editiert, zuletzt von Cry.This (26. März 2010 um 19:08)

  • Danke,

    [autoit]

    #Include <Misc.au3>
    _IsPressed($sHexKey [, $vDLL = 'user32.dll'])

    [/autoit]


    Wenn ich nun in diesem befehl für HexKey eine beliebige Taste einsetze, ich das script starte, reicht das, um einen start auf knopfdruck zu garantieren oder muss da noch mehr hin?

    Und was nutzt mir ein Handle zur DLL?

    Lg

  • Mh. bekomme das irgentwie nicht hin.
    Könnte mir jemand beim Aktivieren per Taste F5 helfen?
    Habe da keinen Ansatz; der Letzte ergab einen Error...

    Lg

  • also ich würde so etwas grundsätzlich mit hotkeyset machen, schließlich ist er noch nicht so vertraut damit...

    [autoit]

    HotKeySet("F5", "_Mozilla")
    _Mozilla()
    Func _Mozilla()
    Send("{ENTER}") ; Gib hier ein, was du senden möchtest
    ; Es können natürlich auch weitere "send"-befehle folgen!
    EndFunc

    [/autoit]


    wenn du noch fragen hast, frag einfach ;)

  • So sendet der jetzt einmal Enter und sonst nichts mehr, auch nciht auf F5...

    Hier mal 2in1:

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3> ;Include für _IsPressed

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("{F5}", "Beispiel1") ;Tastenbelegung

    [/autoit] [autoit][/autoit] [autoit]

    While 1 ;Endlosschleife
    Sleep(50) ;CPU schonen
    If _IsPressed(75) Then ;Wenn F6 gedrückt wurde, dann... (75 steht für F6, am besten Hilfe schauen)
    _Beispiel2() ;Beispiel2 wird aufgerufen
    EndIf
    WEnd ;Endlosschleife zuende

    [/autoit] [autoit][/autoit] [autoit]

    Func _Beispiel1() ; Funktion Beispiel1
    MsgBox(0, "Beispiel1", "Es wurde F5 gedrückt!") ;Öffnet ein Fenster mit dem entsprechenden Text
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Beispiel2() ; Funktion Beispiel2
    MsgBox(0, "Beispiel2", "Es wurde F6 gedrückt!"); Öffnet ein Fenster mit dem entsprechenden Text
    EndFunc

    [/autoit]

    Entweder _IsPressed nehmen, oder HotKeySet

  • Ist die Endlosschleife dann zuende sobald ich f6 drücke?
    Und wohin muss nun enter und ^tab?^^

    Lg

  • Schau mal meinen Beitrag an, hab einmal IsPressed und einmal HotKeySet benutzt.

    Getrennt:

    HotKeySet:

    Spoiler anzeigen
    [autoit]

    HotKeySet("{F5}", "Beispiel1") ;Tastenbelegung

    [/autoit] [autoit][/autoit] [autoit]

    While 1 ;Endlosschleife
    Sleep(50) ;CPU schonen
    WEnd ;Endlosschleife zuende

    [/autoit] [autoit][/autoit] [autoit]

    Func _Beispiel1() ; Funktion Beispiel1
    MsgBox(0, "Beispiel1", "Es wurde F5 gedrückt!") ;Öffnet ein Fenster mit dem entsprechenden Text
    EndFunc

    [/autoit]

    _IsPressed:

    Spoiler anzeigen
    [autoit]

    #include <Misc.au3> ;Include für _IsPressed

    [/autoit] [autoit][/autoit] [autoit]

    While 1 ;Endlosschleife
    Sleep(50) ;CPU schonen
    If _IsPressed(74) Then ;Wenn F6 gedrückt wurde, dann... (75 steht für F6, am besten Hilfe schauen)
    _Beispiel1() ;Beispiel2 wird aufgerufen
    EndIf
    WEnd ;Endlosschleife zuende

    [/autoit] [autoit][/autoit] [autoit]

    Func _Beispiel1() ; Funktion Beispiel2
    MsgBox(0, "Beispiel1", "Es wurde F5 gedrückt!"); Öffnet ein Fenster mit dem entsprechenden Text
    EndFunc

    [/autoit]

    EDIT: Das Enter und Tab muss in die Funktion

  • So?

    [autoit]

    #include <Misc.au3>

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(50)
    If _IsPressed(74) Then
    _Beispiel1()
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _Beispiel1()
    Send("{Enter}")
    Send("^{TAB}")
    EndFunc

    [/autoit]