Что нового

[Автоматизация] слежение за вводом с клавиатуры

general66

Пришел увидел наследил
Сообщения
211
Репутация
3
Нужна помощь в написании скрипта который помнит заранее в него введенное слово и следит за вводом из клавиатуры ,(не подумайте не чего дурного) как только это слово напечатано то он выполняет определенную функцию. Что то наподобие Punto Switcher с его авто заменой, только проще и для пары слов. Пока у меня не чего путного не получилось :-[. Пожалуйста помогите с написанием такого скрипта.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Смотрите пример в справке к функции
Код:
_WinAPI_SetWindowsHookEx()
В этом примере отслеживаются слова "Jon" и "AutoIt".
 

xaker

Знающий
Сообщения
52
Репутация
16
Вот еще вариант с поддержкой русского языка, регистра букв и различных символов.

Код:
#NoTrayIcon

Global $SizeBuffer = 10, $hHook, $aLangAll, $Buffer = _StartListening()

While 1
	Sleep(10)
	Parser()
WEnd

Func Parser()
	Local $test = StringRegExp( $Buffer, '(Eng|Русский|с пробелом|test)', 3)
	If $test Then Return 0
	$Buffer = ''
	Switch $test[0]
		Case 'Eng'
			MsgBox(0, '', 'Eng')
		Case 'Русский'
			MsgBox(0, '', 'Русский')
		Case 'с пробелом'
			MsgBox(0, '', 'с пробелом')
		Case 'test'
			MsgBox(0, '', 'test')
	EndSwitch
EndFunc
#Region функции для перехвата нажатых клавиш
Func _Key_Proc($nCode, $wParam, $lParam)
	If $wParam = 256 And $nCode > -1 Then
		Local $nKeyCode = DllStructGetData(DllStructCreate("dword;dword;dword;dword;ptr", $lParam), 1)
		Switch $nKeyCode
			Case 65 To 90, 48 To 57, 186 To 192, 219 To 222, 96 To 107, 109, 111, 32, 110
				Local $aRet = DllCall("user32.dll", "long", "GetWindowThreadProcessId", "hwnd", WinGetHandle("[ACTIVE]"), "ptr", 0)
				$aRet = DllCall("user32.dll", "long", "GetKeyboardLayout", "long", $aRet[0])
				Local $a_R = DllCall('user32.dll', "short", "GetAsyncKeyState", "int", '0x10')
				$Buffer = StringRight($Buffer & $aLangAll[$nKeyCode][StringRight($aRet[0], 1) + ($a_R[0] < 0)], $SizeBuffer)
		EndSwitch
	EndIf
	Local $aRet = DllCall("user32.dll", "long", "CallNextHookEx", "hwnd", $hHook[0], "int", $nCode, "ptr", $wParam, "ptr", $lParam)
	Return $aRet[0]
EndFunc   ;==>_Key_Proc
Func _StartListening()
	Dim $aLangAll = [["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],[""," "," "," "," ",""," "," "],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","0",")","0",")","","0",")"],["","1","!","1","!","","1","!"],["","2","@","2",'"',"","2",'"'],["","3","#","3","№","","3","№"],["","4","$","4",";","","4",";"],["","5","%","5","%","","5","%"],["","6","^","6",":","","6",":"],["","7","&","7","?","","7","?"],["","8","*","8","*","","8","*"],["","9","(","9","(","","9","("],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","a","A","ф","Ф","","ф","Ф"],["","b","B","и","И","","и","И"],["","c","C","с","С","","с","С"],["","d","D","в","В","","в","В"],["","e","E","у","У","","у","У"],["","f","F","а","А","","а","А"],["","g","G","п","П","","п","П"],["","h","H","р","Р","","р","Р"],["","i","I","ш","Ш","","ш","Ш"],["","j","J","о","О","","о","О"],["","k","K","л","Л","","л","Л"],["","l","L","д","Д","","д","Д"],["","m","M","ь","Ь","","ь","Ь"],["","n","N","т","Т","","т","Т"],["","o","O","щ","Щ","","щ","Щ"],["","p","P","з","З","","з","З"],["","q","Q","й","Й","","й","Й"],["","r","R","к","К","","к","К"],["","s","S","ы","Ы","","і","І"],["","t","T","е","Е","","е","Е"],["","u","U","г","Г","","г","Г"],["","v","V","м","М","","м","М"],["","w","W","ц","Ц","","ц","Ц"],["","x","X","ч","Ч","","ч","Ч"],["","y","Y","н","Н","","я","Я"],["","z","Z","я","Я","","н","Н"],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","0","0","0","0","","0","0"],["","1","1","1","1","","1","1"],["","2","2","2","2","","2","2"],["","3","3","3","3","","3","3"],["","4","4","4","4","","4","4"],["","5","5","5","5","","5","5"],["","6","6","6","6","","6","6"],["","7","7","7","7","","7","7"],["","8","8","8","8","","8","8"] _
	,["","9","9","9","9","","9","9"],["","*","*","*","*","","*","*"],["","+","+","+","+","","+","+"],["","","","","","","",""],["","-","-","-","-","","-","-"],["",".",".",".",".","",".","."],["","/","/","/","/","","/","/"],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["",";",":","ж","Ж","","ж","Ж"],["","=","+","=","+","","=","+"],["",",","<","б","Б","","б","Б"],["","-","_","-","_","","-","_"],["",".",">","ю","Ю","","ю","Ю"],["","/","?",".",",","",".",","],["","`","~","ё","Ё","","'","’"],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","[","{","х","Х","","х","Х"],["","\","|","\","/","","\","/"],["","]","}","ъ","Ъ","","Ї","Ї"],["","'",'"',"э","Э","","є","Є"],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""],["","","","","","","",""]]
	Local $hMod = DllCall("kernel32.dll", "hwnd", "GetModuleHandle", "ptr", 0)
	$hHook = DllCall("user32.dll", "hwnd", "SetWindowsHookEx", "int", 13, "ptr", DllCallbackGetPtr(DllCallbackRegister("_Key_Proc", "int", "int;ptr;ptr")), "hwnd", $hMod[0], "dword", 0)
EndFunc   ;==>StartListening
#EndRegion
 
Верх