Какая альтернативная команда в AHK_L или AHK Basic как @HotKeyPressed в AutoItv3?

На заднем плане я пишу небольшой скрипт для вызова окна приложения с горячими клавишами, и приложение, и горячую клавишу можно настроить с помощью файла ini. Я завершил его с помощью AutoItv3, и он отлично работает для меня. Сейчас я рассматриваю возможность его повторной реализации с AHK_L (предпочтительно) или Basic, но я не могу найти альтернативный способ выполнения dynamically binding hotkeys в AHK, в то время как в AutoIt @HotKeyPresssed полезен, как обсуждалось здесь.

Мой код в AutoItv3 выглядит примерно так:

For 1 to $NumberOfKeys
   $Key = ReadOneKeyFromIniFile()
   HotKeySet($Key,"_Main")
Next
Func _Main()
   $AppKeyBind = @HotKeyPressed
   $Parameters = ReadParametersFromIniFileAccordingToKey($AppKeyBind)
   PopUpWindowWithHotKey($Parameters)
EndFunc

Используемый здесь @HotKeyPressed в основном направлен на снятие ограничения, согласно которому HotKeySet() не может связывать $Key функцию _Main с параметрами.


person Joshz    schedule 06.05.2014    source источник
comment
Я немец и даже я нахожу имя функции ReadParametersFromIniFileAccordingToKey смехотворно длинным!   -  person MCL    schedule 06.05.2014
comment
Я новичок в программировании и не уверен, что это за псевдокод, и я из материкового Китая, и ... лол, я вас понял! Кстати, я посмотрю на твой ответ.   -  person Joshz    schedule 06.05.2014
comment
Думаю, вы можете себе представить, что имена функций, содержащие 8 слов (39 символов), довольно сложно разобрать, даже если они находятся в PascalCase. Особенно это касается таких людей, как мы (не носители языка). Хорошее имя imho будет чем-то вроде ReadIni или FetchParameters, в зависимости от его назначения и ваших личных предпочтений.   -  person MCL    schedule 06.05.2014


Ответы (1)


Вы ищете A_ThisHotkey.
Пример использования:

a::
b::
c::
    MsgBox, You pressed %A_ThisHotkey%.
return
person MCL    schedule 06.05.2014