HotKeySet

  • Hio xD

    ALso ich habe HotKeys

    [autoit]

    $HotKey1 = HotKeySet("", "_Mini")
    $HotKey2 = HotKeySet("", "_Maxi")
    $HotKey3 = HotKeySet("", "_Hide")
    $HotKey4 = HotKeySet("", "_Show")

    [/autoit]


    den ich durch ein Befehl eine Taste zuweiße das sieht so aus

    [autoit]

    $Key1 = IniRead(@ScriptFullPath & "Fenster Menü's.ini", "Minimieren", "Key", "error")
    $Key2 = IniRead(@ScriptFullPath & "Fenster Menü's.ini", "Maximieren", "Key", "error")
    $Key3 = IniRead(@ScriptFullPath & "Fenster Menü's.ini", "Verstecken", "Key", "error")
    $Key4 = IniRead(@ScriptFullPath & "Fenster Menü's.ini", "Anzeigen", "Key", "error")
    $HotKey1 = HotKeySet("{" & $Key1 & "}", "_Mini")
    $HotKey2 = HotKeySet("{" & $Key2 & "}", "_Maxi")
    $HotKey3 = HotKeySet("{" & $Key3 & "}", "_Hide")
    $HotKey4 = HotKeySet("{" & $Key4 & "}", "_Show")

    [/autoit]

    aber wenn ich den HotKey Deaktivieren will geht es nicht habe es schon mit verschieden varianten probiert

    Testungen:

    [autoit]

    $Key1 = ""
    $Key2 = ""
    $Key3 = ""
    $Key4 = ""
    $HotKey1 = HotKeySet("{" & $Key1 & "}", "_Mini")
    $HotKey2 = HotKeySet("{" & $Key2 & "}", "_Maxi")
    $HotKey3 = HotKeySet("{" & $Key3 & "}", "_Hide")
    $HotKey4 = HotKeySet("{" & $Key4 & "}", "_Show")

    [/autoit]

    Oder Durch GuictrlDelete(is ja eig Sinlos da es kein STeuerelement ist)

    [autoit]

    GuictrlDelete($HotKey1)
    GuictrlDelete($HotKey2)
    GuictrlDelete($HotKey3)
    GuictrlDelete($HotKey4)

    [/autoit]

    Danke Shconma für eure Hilfe =)

    Einmal editiert, zuletzt von ScripterDrîzzt (22. August 2009 um 20:51)

    • Offizieller Beitrag

    Lese mal die Hilfe von HotKeySet.

    Zitat

    function [optional] The name of the function to call when the key is pressed. Not specifying this parameter will unset a previous hotkey.

    Beispiel:

    [autoit]

    HotKeySet("{PAUSE}", "TogglePause")

    [/autoit]


    wird durch

    [autoit]

    HotKeySet("{PAUSE}")

    [/autoit]


    wieder aufgehoben.

  • danke danke =) ich arebite nur mit @ScriptFullPath weil er da die Ini au glei mit den Ordner haut bei @ScipDir nich (zumindest bei mir )
    und warum is @ScriptDIr besser wie @ScriptFullPath =?^^

  • okay thx pee =)
    Habe alles gleich in Dir umgewandelt =)
    So hier mien ganzer Script und i-wie will das mit den HotKeys imma noch net so gehen wie ich was will ^^

    Spoiler anzeigen
    [autoit]

    Opt("TrayIconHide", 1)

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

    GUICreate("Fenster Menü's", 300, 220)
    GUISetBkColor(0x0FF80)
    $settings = GUICtrlCreateMenu("Datei")
    $laden = GUICtrlCreateMenuItem("Laden", $settings)
    $save = GUICtrlCreateMenuItem("Speichern", $settings)
    $settings1 = GUICtrlCreateMenu("Keys Aktivieren")
    $aktiv = GUICtrlCreateMenuItem("Keys Aktivieren", $settings1)
    $deaktiv = GUICtrlCreateMenuItem("Keys Deaktivieren", $settings1)
    $settings2 = GUICtrlCreateMenu("Wichtig")
    $info = GUICtrlCreateMenuItem("Infos zu den Key's", $settings2)
    GUICtrlCreateLabel("Key für MINIMIEREN äuswählen", 30, 30)
    $Min = GUICtrlCreateInput("Key", 200, 28, 70, 20,$ES_CENTER)
    GUICtrlCreateLabel("Key für MAXIMIEREN äuswählen", 30, 60)
    $Max = GUICtrlCreateInput("Key", 200, 58, 70, 20,$ES_CENTER)
    GUICtrlCreateLabel("Key für VERSTECKEN äuswählen", 30, 90)
    $Hide = GUICtrlCreateInput("Key", 200, 88, 70, 20,$ES_CENTER)
    GUICtrlCreateLabel("Key für ANZEIGEN äuswählen", 30, 120)
    $Show = GUICtrlCreateInput("Key", 200, 118, 70, 20,$ES_CENTER)
    GUICtrlCreateLabel("Name des Fensters ?!", 100, 150)
    $Name = GUICtrlCreateInput("Den korrekten Fenster-Titel hier eingeben !!!", 30, 168, 240, 20,$ES_CENTER)
    GUICtrlCreateGroup("Keys/Tasten der Einzelnen Funktionen", 15, 5, 270, 190)
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $save
    _Save()
    Case $laden
    _load()
    Case $aktiv
    _HotKeySet()
    Case $deaktiv
    _DeAktivHotKeySet()
    Case $info
    MsgBox(0, "Key Infos", "Die Strg,Windows,Alt+Gr,Shift und Alt Tasten können nicht verwenden werden" & (@CRLF) & "Wenn Sie mehrere Keys gleichzeitig drücken wollen, müssen Sie es so angeben siehe Beispiel" & (@CRLF) & "z.B. AP(Für A und P drücken) oder AH(Für A und H drücken), wenn Sie die F-Tasten haben wollen einfach F1 schreiben")
    EndSwitch
    WEnd

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

    Func _Save()
    IniWrite(@ScriptDir & "Fenster Menü's.ini", "Minimieren", "Key", GUICtrlRead($Min))
    IniWrite(@ScriptDir & "Fenster Menü's.ini", "Maximieren", "Key", GUICtrlRead($Max))
    IniWrite(@ScriptDir & "Fenster Menü's.ini", "Verstecken", "Key", GUICtrlRead($Hide))
    IniWrite(@ScriptDir & "Fenster Menü's.ini", "Anzeigen", "Key", GUICtrlRead($Show))
    IniWrite(@ScriptDir & "Fenster Menü's.ini", "Fenster", "Name", GUICtrlRead($Name))
    $settings1 = GUICtrlRead($deaktiv)
    If $settings1 = 68 Then IniWrite(@ScriptDir & "Fenster Menü's.ini", "Key's", "Status", "aktiv")
    If $settings1 = 132 Then IniWrite(@ScriptDir & "Fenster Menü's.ini", "Key's", "Status", "inaktiv")
    EndFunc ;==>_Save

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

    Func _load()
    GUICtrlSetData($Min, IniRead(@ScriptDir & "Fenster Menü's.ini", "Minimieren", "Key", "error"))
    GUICtrlSetData($Max, IniRead(@ScriptDir & "Fenster Menü's.ini", "Maximieren", "Key", "error"))
    GUICtrlSetData($Hide, IniRead(@ScriptDir & "Fenster Menü's.ini", "Verstecken", "Key", "error"))
    GUICtrlSetData($Show, IniRead(@ScriptDir & "Fenster Menü's.ini", "Anzeigen", "Key", "error"))
    GUICtrlSetData($Name, IniRead(@ScriptDir & "Fenster Menü's.ini", "Fenster", "Name", "error"))
    $ReadKey = IniRead(@ScriptDir & "Fenster Menü's.ini", "Key's", "Status","Nicht vorhanden")
    If $ReadKey = "aktiv" Then
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    GUICtrlSetState($aktiv,$GUI_DISABLE)
    EndIf
    EndFunc ;==>_load

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

    Func _HotKeySet()
    $Key1 = IniRead(@ScriptDir & "Fenster Menü's.ini", "Minimieren", "Key", "error")
    $Key2 = IniRead(@ScriptDir & "Fenster Menü's.ini", "Maximieren", "Key", "error")
    $Key3 = IniRead(@ScriptDir & "Fenster Menü's.ini", "Verstecken", "Key", "error")
    $Key4 = IniRead(@ScriptDir & "Fenster Menü's.ini", "Anzeigen", "Key", "error")
    $HotKey1 = HotKeySet("{" & $Key1 & "}", "_Mini")
    $HotKey2 = HotKeySet("{" & $Key2 & "}", "_Maxi")
    $HotKey3 = HotKeySet("{" & $Key3 & "}", "_Hide")
    $HotKey4 = HotKeySet("{" & $Key4 & "}", "_Show")
    GUICtrlSetState($aktiv, $GUI_DISABLE)
    GUICtrlSetState($deaktiv, $GUI_ENABLE)
    EndFunc ;==>_HotKeySet

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

    Func _DeAktivHotKeySet()
    $HotKey1 = HotKeySet("{PAUSE}")
    $HotKey2 = HotKeySet("{PAUSE}")
    $HotKey3 = HotKeySet("{PAUSE}")
    $HotKey4 = HotKeySet("{PAUSE}")
    GUICtrlSetState($deaktiv, $GUI_DISABLE)
    GUICtrlSetState($aktiv, $GUI_ENABLE)
    EndFunc ;==>_DeAktivHotKeySet

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

    Func _Mini()
    $FesnterN = IniRead(@ScriptDir & "Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_MINIMIZE)
    WinSetState("Fenster Menü's", "", @SW_MINIMIZE)
    EndFunc ;==>_Mini

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

    Func _Maxi()
    $FesnterN = IniRead(@ScriptDir& "Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_RESTORE)
    WinSetState("Fenster Menü's", "", @SW_RESTORE)
    EndFunc ;==>_Maxi

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

    Func _Hide()
    $FesnterN = IniRead(@ScriptDir & "Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_HIDE)
    WinSetState("Fenster Menü's", "", @SW_HIDE)

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

    EndFunc ;==>_Hide

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

    Func _Show()
    $FesnterN = IniRead(@ScriptDir & "Fenster Menü's.ini", "Fenster", "Name", "error")
    WinSetState($FesnterN, "", @SW_SHOW)
    WinSetState("Fenster Menü's", "", @SW_SHOW)
    EndFunc ;==>_Show

    [/autoit]
    • Offizieller Beitrag

    Du hast immer noch einen Fehler in deinen INI Befehlen.

    [autoit]

    GUICtrlSetData($Min, IniRead(@ScriptDir & "Fenster Menü's.ini", "Minimieren", "Key", "error"))

    [/autoit]


    Das solltest du mit

    [autoit]

    GUICtrlSetData($Min, IniRead(@ScriptDir & "\Fenster Menü's.ini", "Minimieren", "Key", "error"))

    [/autoit]


    ersetzen, man achte auf das \. ;)

    Edit ein Hotkey wie dieser:

    [autoit]

    $HotKey1 = HotKeySet("{" & $Key1 & "}", "_Mini")

    [/autoit]


    wird so deaktiviert :

    [autoit]

    HotKeySet("{" & $Key1 & "}")

    [/autoit]
  • ah lol dachte mit das der $key drin bleiben musste, aber am anfang ging es so auch nich ^^ Bis ich dann die $Key Variablen in das Global gehauen habe dann ging es xD

    SO RIESEN THX AN Raupi und pee =)
    und is so ein sinlosen tool es wert hochgeladen zu weden?^^

    • Offizieller Beitrag

    Du solltest dir sowieso angewöhnen Variablen zu deklarieren. Variablen die du Scriptweit verwendest, müssen das sogar (Global). ;)

  • mhh du hast recht das verhindert dann auch teilweiße meine schussel fehler =)
    also thx nochma =)

    Und mal ne ganz andere (Fun) Frage wie änderst du dein Rank name? oda wurde das durch pee erledigt xD

    • Offizieller Beitrag
    Zitat

    Und mal ne ganz andere (Fun) Frage wie änderst du dein Rank name? oda wurde das durch pee erledigt xD


    Das ist einer der Privilegien, wenn man Poweruser ist. :D