hotkey keyvarriable?

  • [autoit]


    $Form2 = GUICreate("Form2", 413, 298, 303, 219)
    $i_hotkey = GUICtrlCreateInput("F11", 72, 40, 81, 21)
    While 1
    $nMsg = GUIGetMsg()
    $hotkey = GUICtrlRead($i_hotkey)
    HotKeySet("{$hotkey}", "Test")
    WEnd
    Func Test()
    send (text)
    sleep (1000)
    EndFunc

    [/autoit]

    folgendes problem:
    ich möchte gerne das ich in einem inputfenster eine Taste belgen kann und immer wenn ich diese dann drücken möchte soll dann der text "test" geschrieben werden. leider weiß ich nicht wie ich dem Hotkey eine variable zuweisen kann.
    Eventuell könnt ihr mir ja helfen, wäre sehr dankbar

  • #include <GUIConstantsEx.au3>

    $Hotkey_Variable = "{F11}"
    HotKeySet($HotKey_Variable, "Test")

    $Form2 = GUICreate("Form2", 413, 298, 303, 219)
    $i_hotkey = GUICtrlCreateInput("F11", 72, 40, 81, 21)

    GUISetState()

    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

    Func Test()
    ;~ send ("Hotkey_Test")
    ;~ oder besser
    GUICtrlSetData($i_hotkey, "Hotkey_Test")
    EndFunc


  • wie du wagrscheinlich merkst bin eich ein blutiger anfänger und ich vestehe den code gerade nicht richtig.
    Habe das mal ausgeführt nur statt das wenn ich die taste drücke ich einen Text sende ändert sich nur das input feld.

    Ich möchte das aber gerne so:
    Das was im inputfeld steht soll als "hotkey" benutztt werden und dann später soll der hotkey der da definiert wurde

    in dem code der oben steht geht es nun immer mit f11 aber wenn ich im feld zb. f10 eintrage gehts nimmer

    brauche das für ein dynamisches makro, man gibt seine Taste ein die er belegen will und danbene seinen text der geschrieben werden soll...

    Einmal editiert, zuletzt von Pain12 (22. August 2008 um 13:10)

  • [autoit]

    #include <GUIConstantsEx.au3>

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

    Dim $New_hotkey = "{F11}"

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

    $Form2 = GUICreate("Form2", 413, 298, 303, 219)
    $i_hotkey = GUICtrlCreateInput($New_hotkey, 72, 40, 81, 21)
    $i_text = GUICtrlCreateInput("Hotkey_Test", 160, 40, 81, 21)
    $Label = GUICtrlCreateLabel("", 72, 80, 200, 20)

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

    HotKeySet($New_hotkey, "Test_Func")

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $i_hotkey
    HotKeySet($New_hotkey)
    $New_hotkey = GUICtrlRead($i_hotkey)
    MsgBox(0,"Neuer HotKey",$New_hotkey)
    HotKeySet($New_hotkey, "Test_Func")
    EndSelect
    WEnd

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

    Func Test_Func()
    $Text = GUICtrlRead($i_text)
    MsgBox(0,"",$Text)
    GUICtrlSetData($Label, $Text)
    EndFunc

    [/autoit]
  • Hi,

    es gibt im Eng Forum auch ne HotKey UDF.

    Mega

    nicht gefunden ?( würde mich auch interessieren.

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---