Falls (2)Tastendrücke ...

  • Hallo,

    wollte mal ein Script machen das folgende Funktionen hat :

    Falls 2 Tastendrücke gedrückt werden(gleichzeitig), soll ein Text geschrieben werden . Wie wird das genau in AutoIT verwirklicht ? Wie gesagt , habe nur Ahnung wie man das jetzt in C++ machen würde aber sonst nicht :S .

    Gruß XGolDenX

    Einmal editiert, zuletzt von XGolDenX (13. März 2007 um 19:56)

  • Hi! also das sollte so gehn:

    Spoiler anzeigen
    [autoit]

    #include <misc.au3>
    $dll = DllOpen("user32.dll")
    While 1
    If _IsPressed("70",$dll) And _IsPressed("71",$dll) Then
    MsgBox(0,"_ispressed()","F1 und F2 wurden gedrückt!")
    Exit
    EndIf
    Sleep(10)
    WEnd

    [/autoit]


    bei _is pressed einfach den wert des gewünschten keys eingeben einfach in der Hilfe mal unter _ispressed gucken!

    • Offizieller Beitrag

    Hallo!

    Welche tasten denn? Guck dir mal HotKeySet an... für STRG+ALT+B z.b. benutz du sowas in der art:

    [autoit]

    HotKeySet("^!b","_STRG_ALT_B")

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

    While 1;Damit das programm nicht beendet wird..
    Sleep(1000)
    WEnd

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

    Func _STRG_ALT_B()
    MsgBox(0,"","strg + Alt + b [ "&@HotKeyPressed&" ] wurde gedrückt!")
    Exit
    EndFunc

    [/autoit]

    Oder du benutzt _IsPressed (siehe Hilfe ;) )

    Mfg Spider

    Edit: da war mal wider jemmand schneller :hammer:

  • Ich weiß ja nicht wie man 2 keys neben einander schreibt !? Einfach {STRG}{F1} oder was ? Ich kann beide Beispiele irgentwie nicht verstehen .

    Wo muss ich jetzt genau beide ( nicht wissen wie zu schreibenden ) keys reinschreiben ? ( und bitte ohne Messagebox )

    Code
    #include <misc.au3>
    $dll = DllOpen("user32.dll")
    While 1 
    	If _IsPressed("70",$dll) And _IsPressed("71",$dll) Then
    		MsgBox(0,"_ispressed()","F1 und F2 wurden gedrückt!")
    		Exit
    	EndIf
    	Sleep(10)
    WEnd

    Einfach _IsPressed überschreiben mit den ( nicht wissen wie zu schreibenden ) 2 Tastenschlägen ?

    Gruß XGolDenX

    ps.: Es handeltt sich darum , dass wenn ich 2 Tasten drücke ( STRG + F1 ) sich dann automatisch ein Text schreibt ( also Send("") wenn ich richtig bedenke )

    Einmal editiert, zuletzt von XGolDenX (13. März 2007 um 20:20)

  • Hi! wiegesagt man sollte sich mal die hilfe angucken!!!

    also in dem fall reicht hotkeyset aus!

    [autoit]

    HotKeySet("^{F1}","_send")
    HotKeySet("{esc}","_exit")
    While 1
    Sleep(1000)
    WEnd

    func _exit()
    exit
    endfunc

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

    Func _send()
    send("")
    EndFunc

    [/autoit]

    einfach strg und f1 für send drücken und esc zum beenden!
    man könnte es aber auch über _ispressed machne!

    Einmal editiert, zuletzt von DjBasslord (13. März 2007 um 20:34)

  • Hm , klappt nicht . Das Programm sollte es in Firefox reinschreiben können , dabei kann es das nicht mal im Notepad :O . Weiß jetzt selbst nicht , ob Send("") dafür ist , den Text hinzuschreiben .

    Gruß XGolDenX

    edit : Ich sehe grad das du vergessen hast Strg reinzutuen ... du hast nur F1 reingeschrieben ...

    Einmal editiert, zuletzt von XGolDenX (13. März 2007 um 20:38)

  • Hi!
    in der tat da reicht send nicht!
    man muss es über ControlSend ( "title", "text", controlID, "string" [, flag] ) machen
    title = fenstertitel
    text = text der im fenster steht
    control id = id des controls einfach autoitwindow info zur hilfe nehmen! da kriegst du di id
    string = text den du senden willst

  • Ach , habs grad schon hinbekommen ;)

  • Naja soweit ganz schön aber:


    Zitat

    HotKeySet("^{strg}","_send")

    das soll funktionieren?

    also für steuerung steht bei send = ^ und nicht {strg} bei mir tats das jedenfalls nicht!

  • Hallo,

    nein möchte nichts automatisieren , jedenfall nichts was mit Loging o.ä. zu tun hat .

    @DjBasslord : Hauptsache es Funktioniert ! :D

    MFG, XGolDenX

  • hi ja so kann man die sache auch sehen! naja die 2. zeile kanste raus nehmen wo wir dann wieder bei meinem script wären...