Что нового

[Мышь, клавиатура] Отмена горячей клавиши

joiner

Модератор
Локальный модератор
Сообщения
3 345
Репутация
576
через нажатие пункта меню назначаю клавишу вызова функции.
не могу понять как тем же способом сделать отмену клавиши.
добиваюсь отмены функцией рестарта скрипта. можно ли сделать отмену другим способом?
Код:
Opt("TrayMenuMode", 1)
$etext = TrayCreateItem("Комментарий")
TrayCreateItem("")
$ehotkey = TrayCreateItem("Горячая клавиша - Пробел(Space)")
TrayCreateItem("")
$erestart = TrayCreateItem("Отмена горячей клавиши")
TrayCreateItem("")
$exititem = TrayCreateItem("Exit")
TraySetIcon("Shell32.dll", -20)
TraySetToolTip("Комментарии")
TraySetState()

While 1
	$msg = TrayGetMsg()
	Select
		Case $msg = 0
			ContinueLoop
		Case $msg = $etext
			_RunFunc()
			Case $msg = $ehotkey
			HotKeySet("{SPACE}","_RunFunc")
			Case $msg = $erestart
			_ScriptRestart()
		Case $msg = $exititem
			ExitLoop
	EndSelect
WEnd
 

gregaz

AutoIT Гуру
Сообщения
1 166
Репутация
299
Вот так :
Код:
;.......
Case $msg = $ehotkey
            HotKeySet("{SPACE}","_RunFunc")
Case $msg = $erestart
            HotKeySet("{SPACE}")
;........
 
Автор
joiner

joiner

Модератор
Локальный модератор
Сообщения
3 345
Репутация
576
gregaz, спасибо.
невнимательно я прочитал справку. но понял это после твоей подсказки ;D
смотрел в справке на этот код
Код:
; Пример
HotKeySet("{Esc}", "captureEsc")
Func captureEsc()
    ; ... временная отмена горячей клаиши
    HotKeySet("{Esc}")
    Send("{Esc}")
    HotKeySet("{Esc}", "captureEsc")
EndFunc

и не мог понять что это оно и есть
 
Верх