Что нового

[Мышь, клавиатура] _IsPressed - не удается проверить нажатие Shift/Alt/Ctrl + F5

Toheno

Новичок
Сообщения
2
Репутация
0
Добрый вечер. Имеется данный код
Код:
#include <Misc.au3>
$dll = DllOpen("user32.dll")

while(1)
	Select
		Case _IsPressed("74") ;отслеживается нажатие F5
			Send("bla-bla-bla{ENTER}")
                ...
       EndSelect
WEnd
DllClose($dll)

При попытке отслеживания нажатия комбинаций Shift/Alt/Ctrl + F5 ничего не происходит. Помогите разобраться :(

P.S. Win7 x86, язык системы - русский, раскладка по умолчанию - англ.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Код:
#include <Misc.au3>

HotKeySet("+{F5}", "_Send")

While 1
	Sleep(10)
WEnd

Func _Send()
	While _IsPressed(10)
	WEnd
	
	Send("bla-bla-bla{ENTER}")
	
	Exit
EndFunc
 

ivsatel

Продвинутый
Сообщения
319
Репутация
84
Toheno
Можно так:
Код:
#include <Misc.au3>
$dll = DllOpen("user32.dll")

while 1
    Select
        Case _IsPressed("10") And _IsPressed("12") And _IsPressed("11") And _IsPressed("74") ;отслеживается нажатие Shift+Alt+Ctrl+F5
            MsgBox('','','OK')
	EndSelect
WEnd
DllClose($dll)

Короче вариант:
Код:
#include <Misc.au3>
$dll = DllOpen("user32.dll")

while 1
    Select
        Case BitAND(_IsPressed("10"), _IsPressed("12"), _IsPressed("11"), _IsPressed("74")) ;отслеживается нажатие Shift+Alt+Ctrl+F5
            MsgBox('','','Shift+Alt+Ctrl+F5')
	EndSelect
WEnd
DllClose($dll)
 
Автор
T

Toheno

Новичок
Сообщения
2
Репутация
0
CreatoR, ivsatel - премного благодарен. Буду ковырять оба метода)
 
Верх