kleines problem mit send befehl

  • hi jungs , bin noch neu im autoit
    habe ein kleines problem finde seit stunden keine lösung im internet

    also ich möchte einen einfachen hotkey , der aber nur senden soll wenn ich ihn drücke sobald ich loslasse soll nix mehr gesendet werden

    im moment habe ich das problem das beim loslassen des buttons immernoch eine zeitlang die eingebe gesendet wird

    hier mein code

    [autoit]

    Global $PausedHotKeySet("{f1}", "f1drucken")HotKeySet("{f2}", "f2drucken")
    ;;;;;;;;While 1 Sleep(100)WEnd;;;;;;;;

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

    Func f1drucken() opt("SendKeyDelay",200) send ("{1}{2}{3}")EndFunc
    Func f2drucken() opt("SendKeyDelay",200) send ("{4}{5}{6}")EndFunc

    [/autoit]


    ich hätte gerne das ich f1 gedrückt halten kann und das dann immer 123 eingegeben wird solange bis ich die taste f1 wieder loslasse

    ich hoffe jemand versteht was ich meine , bin noch neu mit autoit bitte verzeit mir :D

    Einmal editiert, zuletzt von john9901 (13. November 2012 um 11:42)

  • Schau dir mal in der Hilfe das Beispiel zu HotKeySet an, das funktioniert dann mit einmaligem Tastendruck, und wenn du nochmal drückst wird aufgehört was auch immer zu senden.

    Die andere Möglichkeit wäre mit

    [autoit]

    WHILE _IsPressed(..)
    WEND

    [/autoit]


    auf den Tatsächlichen Tastendruck zu prüfen

  • Joa, ich verstehe dein Problem.

    Das liegt an dem opt("SendKeyDelay",200) in Kombination mit Hotkeys und der Send Funktion...


    Die Hotkeys "stapeln" sich und werden nacheinander dann wiedergegeben. Da aber deine Option eine Art pause verursacht, werden die Funktionen solange weiter aufgerufen bis der "Stapel" leer ist. Und weil in deiner Funktion ja die Send Funktion drin ist. Wird diese entsprechend ausgeführt ^^

    Nur um das mal verständlich auszudrücken...

    Zitat

    hi jungs , bin noch neu im autoit


    Was mir gerade nur einfällt: Du stellst die Option ab und erstellst den gleichen effekt mit einer While-Schleife + _IsPressed sowie den Timer Funktionen!

    Ein Beispiel schreibe ich dir auch nachher...

  • Zitat

    Die Hotkeys "stapeln" sich und werden nacheinander dann wiedergegeben.


    ja genau das meinte ich , ich konnte es nur nicht so gut ausdrücken
    ich hoffe jemand kann mir sagen wie ich das abstelle , und trotzem delay bekomme

  • [autoit]

    #include <Misc.au3>
    HotKeySet("{f1}", "f1drucken")

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

    While 1
    Sleep(10)
    WEnd

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

    Func f1drucken()
    HotKeySet("{f1}")
    While _IsPressed(70)
    Sleep(200)
    Send("{1}{2}{3}")
    WEnd
    HotKeySet("{f1}", "f1drucken")
    EndFunc ;==>f1drucken

    [/autoit]

    Hatte ich aber auch ungefähr so gesagt ;)

  • hab das script getestet , leider kann ich dabei nicht die taste halten

    ich würde gerne auch die f1 taste halten können um 123 öfter einzufügen

  • Darf ich frage, wofür du das Skript verwenden möchtest?
    Ich möchte hier nämlich nochmal auf einen Punkt der Forenregeln verweisen:

    Zitat von Forenregeln


    Folgende Inhalte sind absolut nicht erwünscht. Das Team behält es sich ausdrücklich vor, zur Durchsetzung der Regeln je nach Schweregrad Benutzer, Posts und Threads zu verwarnen, zu sperren oder zu löschen.

    • Programme, die einem Spieler bei jeglicher Art von Computerspiel (auch Einzelspieler) einen Vorteil verschaffen ("Bots")
    • Tools, um Nachrichten unerwünscht oft zu versenden (Spamming-Tools)
    • Programme, die anderen, auch Freunden, einen Schreck einjagen sollen oder sich sonst über andere Nutzer lustig machen ("Spaßviren")
    • Automatisierung von Webseiten oder Tools, die das in ihren AGBs verbieten
    • Viren
    • Malware, Spyware
    • Keylogger
    • Umgehen von Captchas

    Ich denke, du verstehst, wieso ich frage. :)

    lg chess

  • ich will es eigl für word , ansonnsten hab ich immer strg+v benutzt , alerdings ist die option meist mit copieren belegt
    zuerst hab ichs im windows forum versucht die sagten ich solls mit autoit machen , leider is das programm schwieriger als ich dachte