Отправка команды при наличии ярлыка

У меня есть такая глобальная команда

!i::Send {Up} (нажатие alt+I переместит курсор вверх)

Существует приложение, которое использует Alt+I в качестве ярлыка для действия, которое я хотел бы вызвать, сохраняя при этом свой собственный ярлык. Я хочу переназначить действие этого приложения на Ctrl+I

В правильном WinExists я пробовал ^i::Send !{i}, но это просто перемещает курсор вверх. Я пробовал ^i::!i, но это отправляет Ctrl+Alt+I, а не Alt+I.

Любые идеи? Спасибо


person Gabe    schedule 27.06.2012    source источник


Ответы (2)


Гейб,

Попробуй это...

SetTitleMatchMode, 2 ; Accept the title search string to be found anywhere in title

#ifWinnotActive yourappname ; use windowspy to find a unique title string
!i::Send {Up}
#ifWinActive

Это заставит !i вести себя так, как вы хотите, во ВСЕХ программах, кроме той, в которой вы хотите сохранить специальное поведение.

В качестве альтернативы вы можете добавить $ к триггерам, чтобы они не вызывали друг друга следующим образом:

$!i::Send, {Up}
$^i::Send, !i
person Robert Ilbrink    schedule 28.06.2012

После каждой команды нужно добавить команду return. Итак, если у вас есть код:

!i::Send, ^i
return
^i::Send, !i
return

Приведенный выше код инвертирует функции CTRL + i и ALT + i.

person Nathan    schedule 06.07.2012