|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] "Отловить" нажатие дополнительных (нестандартных) кнопок мыши |
|
|
[решено] "Отловить" нажатие дополнительных (нестандартных) кнопок мыши
|
![]() Старожил Сообщения: 379 |
Здравствуйте. Хотел бы с Вами посоветоваться, как можно организовать "отлов" нестандартных кнопок мыши используя только средства Autoit. Мышь A4Tech X-710FS.
иРаньше просто устанавливал HotKeySet на какую-нибудь клавишу(например F11), а потом в ПО (программном обеспечении) от девайса ставил cтимуляцию нажатия F11, при нажатии на эту нестандартную кнопку мыши. Но это все муторно и нужен скрипт без использования дополнительного ПО. Кстати, в игре CounterStrike в настройках управления можно установить какое-нибудь действие при нажатии на эту нестандартную кнопку. Отображается название нажатой кнопки как MOUSE3 ![]() |
|
------- Отправлено: 07:08, 27-03-2010 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать sashadeg, пробовал это: MouseSetOnEvent - Обработка событии мышки?
|
------- Отправлено: 12:45, 27-03-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать Как я понял, это для стимулирования нажатия нестандартных (как там сказано БОКОВЫХ) кнопок мыши...
Или я что-то не понял? Можно простой пример вот такого алгоритма: Если нажать боковую кнопку мыши, то выскочит msgbox. |
------- Отправлено: 14:35, 27-03-2010 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата sashadeg:
Цитата sashadeg:
If $__MouseSetOnEvent_aEvents[$i][0] = $iEvent Or _ $__MouseSetOnEvent_aEvents[$i][0] = $iEvent+8 Or $__MouseSetOnEvent_aEvents[$i][0] = $iEvent+16 Then If $__MouseSetOnEvent_aEvents[$i][0] = $iEvent Or _ ($iEvent = $MOUSE_WHEELSCROLL_EVENT And ($__MouseSetOnEvent_aEvents[$i][0] = $iEvent+8 Or $__MouseSetOnEvent_aEvents[$i][0] = $iEvent+16)) Then #include <MouseSetOnEvent_UDF.au3> Global $iXButton_Pressed = 0 HotKeySet("^q", "_Quit") _MouseSetOnEvent($MOUSE_XBUTTONUP_EVENT, "_MouseXButtonUp_Event") While 1 Sleep(10) If $iXButton_Pressed Then _MouseSetOnEvent($MOUSE_XBUTTONUP_EVENT) MsgBox(64, 'Title', 'X Button Pressed') Exit EndIf WEnd Func _MouseXButtonUp_Event() $iXButton_Pressed = 1 EndFunc Func _Quit() Exit EndFunc Проверить негде, т.к у меня обычная мышь. |
||
------- Отправлено: 21:19, 27-03-2010 | #4 |
![]() Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
![]() Цитата Creat0R:
Будто он неактивный какой-то становился. Когда изменил $MOUSE_XBUTTONUP_EVENT на $MOUSE_XBUTTONDOWN_EVENT проблема с msgbox'om отпала. ____________________________________________________________________________________________________ _________ Решил попробовать сделать НЕ одноразовый скрипт (вместо $MOUSE_XBUTTONDOWN_EVENT вписал $MOUSE_WHEELDOWN_EVENT (нажатие на ролик)) и у меня начала вылетать ошибка, после нескольких нажатий (10-20 раз) ![]() #include <MouseSetOnEvent_UDF.au3> Global $iXButton_Pressed = 0 _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_MouseXButtonUp_Event") HotKeySet("^q", "_Quit") While 1 $iXButton_Pressed = 0 _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_MouseXButtonUp_Event") Sleep(10) If $iXButton_Pressed Then _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT) MsgBox(64, 'Title', 'X Button Pressed') EndIf WEnd Func _MouseXButtonUp_Event() $iXButton_Pressed = 1 EndFunc Func _Quit() Exit EndFunc |
|||
------- Отправлено: 08:33, 28-03-2010 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 08:40, 28-03-2010 | #6 |
![]() Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Цитата Creat0R:
Цитата Creat0R:
$iXButton_Pressed = 0 и убрал EXIT после msgboxa - не помогло а когда вписал в цикл ещё и _MouseSetOnEvent($MOUSE_WHEELDOWN_EVENT, "_MouseXButtonUp_Event") то все заработало ![]() Вот только ненадолго ![]() |
|||
------- Отправлено: 09:29, 28-03-2010 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 17:44, 28-03-2010 | #8 |
![]() Старожил Сообщения: 379
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:51, 28-03-2010 | #9 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 22:41, 28-03-2010 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Как произвести нажатие кнопок мыши без функций AutoIT и сторонних программ. | CyberStyLe | AutoIt | 11 | 08-02-2010 14:22 | |
[решено] Отловить нажатие по плюсику | morgan1991 | AutoIt | 6 | 30-06-2009 10:54 | |
[решено] Ограничение использования "горячих кнопок" по времени... Очень интересный вопрос... | sashadeg | AutoIt | 3 | 24-03-2009 10:38 | |
Прочие - Переназначение дополнительных кнопок мышки (Mouse4="Enter", Mouse5="Delete", etc) | DreadMaster | Программное обеспечение Windows | 2 | 01-01-2009 17:54 | |
[решено] Инверсия цветов и эффект "нажатых" кнопок в Win 2k3 Server SP1 | MoRoman | Microsoft Windows NT/2000/2003 | 5 | 11-04-2006 13:10 |
|