|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Перехват нажатия всех клавиш |
|
|
Перехват нажатия всех клавиш
|
Новый участник Сообщения: 9 |
Профиль | Отправить PM | Цитировать Делаю скрипт, на гуе которого присутствуют только две метки (текстовые пояснения о проходящем этапе).
Гуя должна реагировать на клавишу Esc - это выход из скрипта, и на все остальные клавиши одинаково - это переход к следующему этапу выполнения скрипта. С Esc все понятно - в цикле отслеживаем $GUI_EVENT_CLOSE, но вот как быть с нажатиями на все остальные клавиши?? |
|
Отправлено: 21:13, 28-06-2011 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 00:21, 29-06-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать Creat0R, а как сделать чтобы через ToolTip нажатые клавиши выводились ? (неполучается...)
|
------- Отправлено: 17:26, 25-07-2011 | #3 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата TERMINAL:
#include <IsPressedEx.au3> #include <WinAPIEx.au3>;http://autoit-script.ru/index.php/topic,47.0.html Opt('MustDeclareVars', 1) HotKeySet('{Esc}', '_Quit') Global $fTimeOld, $fTime, $sPressed, $iRet, $iTime AdlibRegister('_Show', 1000) $iTime = TimerInit() While 1 $iRet = _IsPressedEx('[:ALLKEYS:]') If $iRet Then $fTime = Not $fTime If StringInStr(__KeyGetType($iRet, 0), 'mouse') Then $sPressed = 'Mouse (' & __KeyGetType($iRet, 0) & ')' Else $sPressed = 'Key (' & __KeyGetType($iRet, 0) & ')' EndIf EndIf If $fTimeOld <> $fTime Then $fTimeOld = $fTime $iTime = TimerInit() EndIf Sleep(10) WEnd Func _Show() If $sPressed Then ToolTip('Прошло после последнего нажатия: ' & _WinAPI_StrFromTimeInterval(TimerDiff($iTime)) & @LF & 'Нажимали: ' & _ $sPressed & @LF & @LF & 'Совсем ничего не делали: ' & _WinAPI_StrFromTimeInterval(_WinAPI_GetIdleTime()), 0, 0) Else ToolTip('Ничего не нажимали: ' & _WinAPI_StrFromTimeInterval(TimerDiff($iTime)) & @LF & @LF & _ 'Совсем ничего не делали: ' & _WinAPI_StrFromTimeInterval(_WinAPI_GetIdleTime()), 0, 0) EndIf EndFunc ;==>_Show Func _Quit() Exit EndFunc ;==>_Quit |
|
Отправлено: 17:56, 25-07-2011 | #4 |
Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать madmasles, Немогу побороть в твоём скрипте ошибку Duplicate function name.:Func _Show() :
Цитата:
|
||
------- Последний раз редактировалось TERMINAL, 28-07-2011 в 10:41. Отправлено: 10:24, 28-07-2011 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать TERMINAL,
А зачем Вам клавиатурный шпион? |
Отправлено: 14:06, 28-07-2011 | #6 |
Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать madmasles, )) у меня уже есть один и довольно неплохой, но этот вариант мне кажется намного лучше в работе...
Клавиатурный шпион ставлю к себе в терминальную сессию...при входе в терминал у меня есть 3 секунды чтобы набрать на клавиатуре пароль-если пароль не верен или ввобще не вводился-отсылается мне письмо на почту о несанкционированном входе в терминальную сессию. Тоесть получается двойная защита, при входе на сервак и на самом сервере. |
------- Отправлено: 11:47, 29-07-2011 | #7 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать TERMINAL,
*click* |
Отправлено: 11:08, 30-07-2011 | #8 |
Ветеран Сообщения: 753
|
Профиль | Отправить PM | Цитировать madmasles, страница ошибку выдаёт...
|
------- Отправлено: 14:59, 01-08-2011 | #9 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата TERMINAL:
|
|
Последний раз редактировалось madmasles, 13-08-2014 в 08:44. Отправлено: 18:02, 01-08-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Автоматизация нажатия клавиш | Tonny_Bennet | AutoIt | 18 | 29-01-2011 14:47 | |
Разное - AutoIt v3 глобальный перехват нажатия клавиши мыши | DanteeZ | AutoIt | 0 | 30-11-2010 22:57 | |
.NET - [решено] C#. Перехват нажатия Enter | Delirium | Программирование и базы данных | 4 | 27-02-2010 11:41 | |
Перехват нажатия кнопки в чужом приложении | SASHA 333 | Программирование и базы данных | 5 | 13-01-2005 18:31 | |
Двойные нажатия клавиш | ivank | Железо в Linux | 8 | 09-06-2003 09:24 |
|