#include <BlockInputEx.au3>
HotKeySet("+{F1}", "Lock")
HotKeySet("+{F2}", "UnLock")
Func Lock()
_BlockInputEx(1, "0x10|{F2}")
EndFunc
Func UnLock()
_BlockInputEx(0)
EndFunc
While 1
Sleep(100)
WEnd
На этой версии AutoIt библиотека не тестировалась...Использую BlockInputEx_UDF_1.8 и autoit-v3.3.10.2 на Win7 x32
HotKeySet("+{F1}", "Lock")
_BlockInputEx(1, "{F2}|{LSHIFT}|{RSHIFT}")
#RequireAdmin
#include <BlockInputEx.au3>
_BlockInputEx(2)
AdlibRegister("_Exit", 10000)
Opt ( "MouseClickDelay", 1000)
HotKeySet("{ESC}","Stop")
Func Stop ()
_BlockInputEx(0)
Exit 0
EndFunc
While 1
_Eda()
Sleep(500)
WEnd
Func _Eda()
MouseClick('Left', 601, 72, 1)
MouseClick('Left', 754, 104, 1)
$coord = PixelSearch(250, 313, 263, 325, 0x000000) ; Если поле найдено
If Not @error Then
MouseClick('Left', 878, 504, 1)
Else
MouseClick('Left', 100, 360, 1)
$coord = PixelSearch(250, 353, 263, 366, 0x000000) ; Если поле найдено
If Not @error Then
MouseClick('Left', 610, 358, 1)
EndIf
EndIf
EndFunc
#include <BlockInputEx.au3>
$dll = DllOpen("user32.dll")
; $hWnd = Нужное мне окно
Local $bDown = False, $bUp = True, $IsPressed
While 1
$IsPressed = _IsPressed("11", $dll)
If $IsPressed And Not $bDown Then
$bDown = True
$bUp = False
_BlockInputEx(1,'','{MWSCROLL}|{+}|{-}', $hWnd)
ElseIf Not $IsPressed And Not $bUp Then
$bDown = False
$bUp = True
_BlockInputEx(0)
EndIf
WEnd
DllClose($dll)
А подскажите каким образом это проверить?CreatoR сказал(а):Вовчик55
Со встроенным BlockInput это происходит?
каким образом это проверить?
BlockInput(1)
Sleep(10000)
BlockInput(0)
А надо было, возможно у вас там устаревшая версия.файл "BlockInputEx.au3" не пришлось копировать в Include - т.к. он там уже почему-то был
То же самое (пикает при зажимании 3 клавиш одновременно)CreatoR сказал(а):После запуска скрипта попробовать нажимать указанные клавиши (у вас будет 10 секунд), и проверить проявляется ли проблема.
#include <BlockInputEx.au3>
Local $hDLL = DllOpen("user32.dll")
_BlockInputEx(1, "", "`") ;
sleep(50)
_BlockInputEx(0, "", "`") ;
While 1
If _IsPressed("C0", $hDLL) Then ;
MsgBox (4096,"",'нажата тильда')
Else
EndIf
sleep(5)
WEnd