Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 01:00

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Keyboard Hook einsetzen und verstehen

Discussion on Keyboard Hook einsetzen und verstehen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
FizzeBu's Avatar
 
elite*gold: 6
Join Date: Mar 2010
Posts: 12,388
Received Thanks: 2,115
Keyboard Hook einsetzen und verstehen

Hoi,

ich will für Terraria ein kleines Script schreiben, welches die Tastatureingaben modifiziert an das aktive Fenster weitergibt. Mal gegoogelt und auf Keyboard Hooks gestoßen.
Naja, ich komm mit einem Code, den ich gerne verstehen würde um auch die Keybord Hooks zu verstehen, nicht zurecht.

Code:
#include <WinAPI.au3>
#include <WindowsConstants.au3>
HotKeySet('{F3}', '_EXIT')

Dim $hHook, $hFunc
Dim $pFunc

$hFunc = DllCallbackRegister('_KeyboardHook', 'long', 'int;wparam;lparam')
$pFunc = DllCallbackGetPtr($hFunc)

$hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, $pFunc, _WinAPI_GetModuleHandle(0))

While 1
    Sleep(15)
WEnd


Func _EXIT()
    Exit
EndFunc

Func OnAutoItExit()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hFunc)
EndFunc

Func _KeyboardHook($iCode, $iwParam, $ilParam)
    Local $tKHS = DllStructCreate($tagKBDLLHOOKSTRUCT, $ilParam)
    Local $vkCode, $iScanCode
    
    If $iCode > -1 Then
        $vkCode = DllStructGetData($tKHS, 'vkCode')
        If $iwParam = $WM_SYSKEYUP Then
            Switch $vkCode
                Case 0x30 To 0x39
                    ConsoleWrite($vkCode & @LF)
                    _keybd_event(0x12, 2)  ; 2 = KEYEVENTF_KEYUP
                    _keybd_event($vkCode+0x30, 0)
                    Return 1
            EndSwitch
        EndIf
    EndIf
    
    Return _WinAPI_CallNextHookEx($hHook, $iCode, $iwParam, $ilParam)
EndFunc


Func _keybd_event($bvkCode, $Flag)
    DllCall('user32.dll', 'int', 'keybd_event', 'byte', $bvkCode, 'byte', 0, 'uint', $Flag, 'ptr', 0)
EndFunc; _keybd_event
Ist von hier:

Wenn sich jemand damit auskennst, könnte sich jemand die Mühe machen hinter jede Zeile eine Erklärung zu schreiben? Also einiges versteh ich ja, aber die Funktionen _KeyboardHook und _keybd_event nicht. Wann werden die denn aufgerufen? Geschieht das irgendwie vom System her?
Hab natürlich auch schon die Hilfen zu den einzelnen DLL Funktionen gelesen, damit komm ich eigentlich klar, ich muss die Parameter halt nachlesen.

Ich hoffe es erbarmt sich jemand.
FizzeBu is offline  
Reply


Similar Threads Similar Threads
[TuT]Linux verstehen und einsetzen
07/18/2013 - Tutorials - 50 Replies
So das TuT ist nicht von mir. Ich poste es aber hier da es klasse ist. Ich habe es mir auch angetan und auch wenn es ein bisschen gedauert hat,hat es sich absolut gelohnt. Da man durch ArchLinux sein individuelles Betriebssytem bauen kann und das halt auf den Hauptzweck für was man es will. Also wer schon immer seinindividuelles Betriebssytem wollt der sollte sich das vllt dochmal durch lesen.Außerdem kann man hier nach behaupten das man mit Linux umgehen kann:D Tutorial Erstmal ein...
einsetzen ??
06/12/2011 - S4 League - 3 Replies
Wie kann ich das so machen das wenn ich ein beitrag schreibe das da dann Hier: Dieser Strich ist und hier irgendein bild oder so ?? ich weis ist ne dumme frage weis aber net wies geht :D
[Little TuT]Skill_proto verstehen
12/18/2010 - Metin2 PServer Guides & Strategies - 5 Replies
Hey, als ich grad ein Fernninja Skill für Majestic mache und mir aufgefallen ist das es sowas hier noch nicht gibt wollt ich einfach mal ein Thread dazu eröffnen ^^ Hier eine Beispiel : 1 Skillname 1 1 1 0 HP -( 1.1*atk + (0.5*atk + 1.5 * str)*k) 40+100*k 12 -( 1.1*atk + (0.5*atk + 1.5 * str)*k) ATTACK,USE_MELEE_DAMAGE NONE 40+10 0*k 0 0 MELEE 5 1 0 200 1 | Skill-Id Skillname | Skillname 1 | Typ also für wen der Skill ist (1 = Krieger 2 = Ninja 3 =...
einsetzen ?
11/29/2009 - WarRock Hacks, Bots, Cheats & Exploits - 2 Replies
wie kann ich bei einem hack premium hack einsetzten weil der klppt bei mir nie udn wie funktioniert transpoter
keyboard/mouse hook
02/06/2008 - Cabal Online - 0 Replies
blockt gameguard keyboard bzw. mousehooks ?



All times are GMT +1. The time now is 01:02.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.