Что нового

HotKey - Установка горячих клавиш

Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724

AZJIO

Меценат
Меценат
Сообщения
2,901
Репутация
1,200
Не помогает. Когда тестировал TextCorrection все флаги перепробовал.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
AZJIO сказал(а):
Не помогает. Когда тестировал TextCorrection все флаги перепробовал.

У меня при любом раскладе и при любых скоростях нажатия никаких залипаний нет. Либо это проблема есть только у тебя, либо ты что-то не договариваешь... В последнем примере никаких залипаний быть не должно. Проверь еще раз. Без флага $HK_FLAG_WAIT при достаточно быстром отпускании клавиши да, наблюдались залипания, но с этим флагом залипаний я не обнаружил, сколько не старался.

И при чем здесь TextCorrection, мы сейчас решаем проблему на примере простого кода. Запусти последний пример еще раз.
 

AZJIO

Меценат
Меценат
Сообщения
2,901
Репутация
1,200
Yashied
либо ты что-то не договариваешь...
с чего бы?


Yashied
Проверь еще раз.
Проверил ещё раз, тоже самое, хотя для меня один раз критерий. Выделение происходит и вместо прокрутки работает размер шрифта.

По той ссылке, что я приводил, у beve тоже проблем не было, хотя у меня была.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
AZJIO, извини, но я здесь не помощник, так как не могу воспроизвести данную проблему ни на одном компьютере, как бы я не старался. Пробывал на трех разных машинах, на XP и 7... Все OK, при любом раскладе.

:-\
 

AZJIO

Меценат
Меценат
Сообщения
2,901
Репутация
1,200
Yashied
Проверил в LiveCD, работает всё чётко... TextCorrection работает стабильно.

__________________________

Пришлось версию 0.5 делать под LiveCD, соответственно при более тщательном тесте залипания были один раз на каждые 4-5 использования. Изменения задержек нажатия и паузы (SendKeyDownDelay, SendKeyDelay) не помогали. А когда добавил комбинацию

_SendEx("{LCTRL}")
_SendEx("{RCTRL}")

то не одного глючного вызова.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
А перехват клавиш мыши - скан-коды 0x04, 0x05, 0x06 с помощью HotKey возможен?

Так не работает:

Код:
#Include <HotKey.au3>
Global Const $VK_1 = 0x04
_HotKeyAssign($VK_1, 'Calc', BitOR($HK_FLAG_DEFAULT, $HK_FLAG_EXTENDEDCALL))
While 1
    Sleep(10)
WEnd
Func Calc($iKey)
 Run('Calc.exe') 
EndFunc
 

prokazzza

Новичок
Сообщения
160
Репутация
2
Подскажите как заблочить горячие кнопки к примеру Ctrl+Shift+Esc, чет не разберусь как должен выглядеть скрипт (((
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
prokazzza сказал(а):
Подскажите как заблочить горячие кнопки к примеру Ctrl+Shift+Esc, чет не разберусь как должен выглядеть скрипт (((

CTRL+SHIFT+ESC в Windows 7 - это аналог CTRL+ALT+DEL в XP, и заблокировать эту комбинацию вам не даст Windows. А выглядеть это должно так:

Код:
_HotKeyAssign(BitOR($CK_CONTROL, $CK_SHIFT, $VK_ESCAPE), 'MyFunc')
 

prokazzza

Новичок
Сообщения
160
Репутация
2
Помогите дописать скрипт, чтобы при нажатии на левый ALT+ левый SHIFT + TAB вызывался диспетчер задач

Код:
#Include <HotKey.au3>

Global Const $VK_MENU = 0x12
Global Const $VK_SHIFT = 0x10
Global Const $VK_TAB = 0x1B

_HotKeyAssign(BitOR($VK_MENU, $VK_SHIFT, $VK_TAB), '')
 

prokazzza

Новичок
Сообщения
160
Репутация
2
Чет я нефига не понял, сделал вот такой скрипт

Код:
#Include <HotKey.au3>

Global Const $VK_MENU = 0x12
Global Const $VK_SHIFT = 0x10
Global Const $VK_TAB = 0x1B

_HotKeyAssign(BitOR($VK_MENU, $VK_SHIFT, $VK_TAB), "_task")

Func _task()
run(@SystemDir & "\taskmgr.exe")
EndFunc


Скрипт отрабатывает и закрывается, никаких изменений в системе не замечаю (((( Help плиз!!!
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,487
prokazzza [?]
Скрипт отрабатывает и закрывается
Надо же понимать, что скрипт ничего не удерживает, в нём нету цикла:

Код:
#Include <HotKey.au3>

Global Const $VK_MENU = 0x12
Global Const $VK_SHIFT = 0x10
Global Const $VK_TAB = 0x1B

_HotKeyAssign(BitOR($VK_MENU, $VK_SHIFT, $VK_TAB), "_task")

While 1
    Sleep(10)
WEnd

Func _task()
    Run(@SystemDir & "\taskmgr.exe")
EndFunc


В таком варианте он будет работать вечно, для завершения нужна другая горячая клавиша с функцией выхода.
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Одно замечание.

_HotKeyAssign(BitOR($CK_ALT, $CK_SHIFT, $VK_TAB), "_task")

Функция не воспринимает VK-константы для командных клавиш (CTRL, ALT, SHIFT и WIN).
 
Автор
Yashied

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
Обновил библиотеку до версии 1.62. Исправлен досадный баг, заключающийся в прекращении работы установленных горячих клавиш после выхода из экрана "Logon UI" (это то, что появляется при нажатии CTRL+ALT+DEL в Windows Vista/7) и в некоторых случаях после сообщений UAC. Несмотря на то, что в Windows XP эта ошибка не проявляется, я все же рекомендую всем использовать именно эту версию, как более стабильную.

Если нет возможности использовать новую версию этой библиотеки, то работоспособность горячих клавиш можно вернуть, повторно нажав и отпустив клавиши CTRL и ALT.

:smile:
 

wobl

Новичок
Сообщения
6
Репутация
0
Люди помогите я нуб тот еще,пытаюсь установить горячие клавиши, при помоши привиденных выше примеров, выдает ошибку ERROR: can't open include file <HotKey.au3> что делать?
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
Скачай HotKey.au3 и помести его в C:\Program Files\AutoIt 3\Include.
 
Верх