Irbis пишет:заменить на
SendInput % (GetKeyState("Control","P") ? "^" : "")
. (GetKeyState("Shift","P") ? "+" : "")
. (GetKeyState("Alt","P") ? "!" : "")
. "{" . Value . "}"
получается след код:
KeyArr := {"#vk46": "a"}
For Key in KeyArr
Hotkey, *%Key%, PressKey
Return
PressKey:
ThisHotkey := SubStr(A_ThisHotkey, 2)
Value := KeyArr[ThisHotkey]
SendInput % (GetKeyState("Control","P") ? "^" : "")
. (GetKeyState("Shift","P") ? "+" : "")
. (GetKeyState("Alt","P") ? "!" : "")
. "{" . Value . "}"
Return
Работает, но при нажимании RCtrl, RShift, RAlt работает, но появляется пуск (т.е. посылается Win)
serzh82saratov пишет:Может проще так:
SendInput {Blind}{%Value%}
При этом будет зажиматься клавиша Win (хоткей создается для #vk43, поэтому такой метод подойдет, если в хоткее нет !^+#
Для создания хоткеев исп-ся
Но * не работает с комбинациями типа vk20 & vk46, т.е. где первая клавиша не из множества !^+#
Итак используя ассоциативный массив - {'vk20&vk46': 'a'}), хоткей назначается только на первую клавишу из комбинации, в моем примере - vk20. Как это исправить?