Что нового

HotKeySet на 3 и 4 кнопки мыши как сделать?

RavdonikaS

Новичок
Сообщения
68
Репутация
4
Подскажите как написать HotKeySet для 3 и 4 кнопки мыши что бы они запускали функции
 

AZJIO

Меценат
Меценат
Сообщения
2,903
Репутация
1,200
Код:
#include <Misc.au3>
HotKeySet('^1', '_Fu') ; Кнопка Ctrl+1+2

While 1
	Sleep(100000)
WEnd

Func _Fu()
	While Not _IsPressed(32) And _IsPressed(31)
		Sleep(30)
	WEnd
	If _IsPressed(32) And _IsPressed(31) Then MsgBox(0, 'Сообщение', 'text')
EndFunc   ;==>_Fu
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
365
А мне кажется, нужно что-то вроде такого:

Код:
#include <Misc.au3>

$dll = DllOpen('user32.dll')

While 1
	Sleep(50)
	If _IsPressed(0x05, $dll) Then Mouse1()
	If _IsPressed(0x06, $dll) Then Mouse2()
WEnd

DllClose($dll)

Func Mouse1()
MsgBox(0, '_IsPressed', '1')
EndFunc

Func Mouse2()
MsgBox(0, '_IsPressed', '2')
EndFunc
 
Автор
RavdonikaS

RavdonikaS

Новичок
Сообщения
68
Репутация
4
Через HotKeySet никак нельзя?
А то не хотелось бы лишнюю проверку на наличие нажатой кнопки у меня и так много проверок

Пример:
Код:
HotKeySet("{numpad1}","FFFF_2")
HotKeySet("{numpad2}","FFFF_1")


Или HotKeySet все равно работает по принципу цикла с _IsPressed (Каждый раз проверяя нажатие)?
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
365
Через HotKeySet нельзя

Есть UDF MouseOnEvent для работы с мышью
Здесь ее вариант, который поддерживает эти кнопки:
http://www.autoitscript.com/forum/topic/64738-mouseonevent-udf/page-7#entry1047299
MouseOnEvent.au3 положить в папку со скриптом или в папку Include в папке Autoit

Код:
#include <MouseOnEvent.au3>

_MouseSetOnEvent($MOUSE_XBUTTONDOWN_EVENT, 'Mouse')

While 1
	Sleep(50)
WEnd

Func Mouse1()
	ConsoleWrite('1')
EndFunc   ;==>Mouse1

Func Mouse2()
	ConsoleWrite('2')
EndFunc   ;==>Mouse2
 

AZJIO

Меценат
Меценат
Сообщения
2,903
Репутация
1,200
Через хук мыши буферизируй кнопки в некую переменную, как последовательность совпала, то выполнение события.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
365
AZJIO
В том коде эти дополнительные кнопки мыши разделены?
 

AZJIO

Меценат
Меценат
Сообщения
2,903
Репутация
1,200
WSWR
Да, это отдельные события, нажатие, отжатие для левой, правой, средней, и боковой кнопок. Включая направление вращения колеса и события перемещения мыши.
 
Автор
RavdonikaS

RavdonikaS

Новичок
Сообщения
68
Репутация
4
WSWR
Есть UDF MouseOnEvent для работы с мышью
Здесь ее вариант, который поддерживает эти кнопки:
http://www.autoitscript.com/forum/topic/64738-mouseonevent-udf/page-7#entry1047299
MouseOnEvent.au3 положить в папку со скриптом или в папку Include в папке Autoit


Очень понравилась UDF MouseTrapEvent.au3
Что самое главное в скрипте пришлось переписать всего 3 строки что бы её включить

В файле с инклудами:
Код:
#include <MouseTrapEvent.au3> ;Добавил всего лишь эту строчку
#include <GuiConstants.au3> 
#include <StaticConstants.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <FF.au3>
#include <File.au3>
#include <Misc.au3>
#include <Date.au3>
#include "Constant.au3"
#include "Dat4iki.au3"
#include "GUI.au3"
#include "HotKey.au3"
#include "Process.au3"
#include "Funkcii.au3"
#include "FFFF.au3"


И в файле с хоткеями добавил 2 строки
Код:
_MouseTrapEvent("XClick1","F_Attack")  ;Вот эти 2 строчечки
_MouseTrapEvent("XClick2","F_Pausa")  ;Вот эти 2 строчечки
HotKeySet("{numpad5}","F_Attack")
HotKeySet("{numpad6}","F_Attack_Asist")
HotKeySet("{numpad7}","F_Target")
HotKeySet("{numpad8}","F_Attack_Auto")
HotKeySet("{numpad9}","F_Heal")
HotKeySet("{NUMPADSUB}","F_Beep")
HotKeySet("{numpad0}","F_Pausa")
HotKeySet("{numpaddot}","Okna")
HotKeySet("{pause}","Close")
HotKeySet("{numpadadd}","F_Party")
HotKeySet("{home}","Restart")
 
Верх