1 (изменено: Вадя, 2014-01-16 19:04:05)

Тема: AHK: блокирование AHK на время ввода другой программой

[РЕШЕНО]

Как можно заблокировать AHK на время пока Punto Switcher введет текст автозамены?
У меня прописаны вот такие замены в AHK (чтобы на любом языке точка была точкой, а запятая - запятой)


+SC035:: SendInput `,
SC035:: SendInput . 

Но когда происходит автозамена средствами  Punto Switcher и в ней встречается "," AHK вклинивается в процесс автозамены, и запятая либо сползает куда-то, либо вообще пропадает.

2

Re: AHK: блокирование AHK на время ввода другой программой

РЕШЕНИЕ (пришлось дойти самостоятельно)


~$+SC035::
GetKeyState state, SC035, P
if state = D
{
;ToolTip физически нажата запятая
SendInput {Backspace}`,
}
else
{
;ToolTip программно нажата запятая
}
return

~$SC035::
GetKeyState state, SC035, P
if state = D
{
;ToolTip физически нажата точка
SendInput {Backspace}.
}
else
{
;ToolTip программно нажата точка
}
return

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

П.С. Не на один вопрос еще на форуме не ответили из трех. Форум сдох походу. Я тут сам с собой общаюсь )