2

У меня есть несколько коротких горячих клавиш / горячих клавиш. Если я наберу "один", есть соответствующие действия, если я набрал два, есть еще соответствующие действия.

У меня вопрос, как я могу сделать одну горячую клавишу для всех, чтобы, когда я нажимал клавишу, появлялся выпадающий список /msgbox, тогда я мог выбрать элемент, и, щелкнув по нему, он будет выполнять соответствующий макрос на основе в списке ниже?

::one::

{

    do this

    do that

}

return

::two::

{

    do this

    do that

}

return

::three::

{

    do this

    do that

}

return

::four::

{

    do this

    do that

}

return

::five::

{

    do this

    do that

}

return

Кроме того, Autohotkey хорош для изучения сценариев? Или АвтоИТ? Или я должен изучить основной язык сценариев (как те, которые я обычно слышал - Perl, PhP и т.д.)

Являемся ли мы тем языком программирования, способным выполнять простые шаги, например записывать только нажатия клавиш и движения мыши?

, Спасибо,

Faye

1 ответ1

1

АХК-пример:

; create the gui:
Gui, +AlwaysOnTop
; DropDownList:
; Gui, Add, DDL, gAction vChoise Choose1 w200, one|two|three|four
; ListBox:
Gui, Add, ListBox, gAction vChoise w200 h60, one|two|three|four
return

; Press F1 to show the gui:
F1::
CoordMode, Mouse, Screen
MouseMove, 40, 50, 0
Gui, Show, x0 y0, Actions
return


Action:
Gui, Submit ; or
; Gui, Submit, NoHide   ; if you don't want to hide the gui-window after an action
If (Choise = "one")
    MsgBox, 1st action 
If (Choise = "two")
    MsgBox, 2nd action
If (Choise = "three")
    MsgBox, 3rd action
If (Choise = "four")
    MsgBox, 4th action
return

GuiClose:
ExitApp

РЕДАКТИРОВАТЬ

Если вы хотите выбрать действие, используя стрелки вверх и вниз и Enter, вам нужно добавить кнопку по умолчанию в графический интерфейс.

или это:

Gui, +AlwaysOnTop
Gui, Add, ListBox, gAction vChoise w200 h60, one|two|three|four
return

; Press F1 to show the gui:
F1:: Gui, Show, x0 y0, Actions

Action:
If ((A_GuiEvent = "DoubleClick") || (Trigger_Action))
{
    Gui, Submit
    If (Choise = "one")
        MsgBox, 1st action 
    If (Choise = "two")
        MsgBox, 2nd action
    If (Choise = "three")
        MsgBox, 3rd action
    If (Choise = "four")
        MsgBox, 4th action
}
return

#If WinActive("Actions ahk_class AutoHotkeyGUI")

    Enter::
        Trigger_Action := true
        GoSub, Action
        Trigger_Action := false
    return

#If

GuiClose:
ExitApp

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .