Alectric, Спасибо, работает! Однако решил пойти несколько иным путем, используя подсказки из других тем, чтобы иметь возможность добавлять различные условия для различных действий:
/*
[Section]
Undo=2
[End]
*/
IniRead, Undo, %A_ScriptFullPath%, Section, Undo
2::
Send, 1
Send, 2
IniWrite, % (Undo := 2), % A_ScriptFullPath, Section, Undo
return
3::
Send, 1
Send, 2
Send, 3
IniWrite, % (Undo := 3), % A_ScriptFullPath, Section, Undo
return
^vk5A:: ; z
SendInput ^{vk5A %Undo%}
Return
Т.е. если сценарий выполнет внутри программы, например, три действия, то при отмене совершается отмена трех действий. Но часто после вызова сценария могут последовать стандартные единичные действия внутри программы, после которых отмена действия должна работать в привычном режиме.
Поэтому, необходимо добавить условие, при котором значение Undo сбрасывается на "1", если после вызова сценария последовало нажатие любых клавиш, кроме: f1, f2, f3, Space, но не кроме +f1, ^f2 !Space и т.д. Также значение должно сбрасываться при удержании ЛКМ и ПКМ более чем на 0,1 сек., но не при обычном нажатии ЛКМ.
Помогите, пожалуйста, реализовать данное условие.