Systemweiter Keyboard-Hook
From: Lutz Winkler (lutz_winkler_at_t-online.nospam.de)
Date: 01/11/05
- Next message: Dieter Strassner: "Re: ActiveX-EXE registrieren"
- Previous message: Peter Götz: "Re: Installationsprobleme unter Windows 98"
- Next in thread: Herfried K. Wagner [MVP]: "Re: Systemweiter Keyboard-Hook"
- Reply: Herfried K. Wagner [MVP]: "Re: Systemweiter Keyboard-Hook"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 11 Jan 2005 18:51:55 +0100
Nach langen Recherchen habe ich endlich eine Möglichkeit gefunden, unter VB
eine systemweite Tastatur-Abfrage zu implementieren:
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA"
(ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal
dwThreadId As Long) As Long
Private Const WH_KEYBOARD_LL = 13&
....
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardProc,
App.hInstance, App.ThreadID)
....
Public Function KeyboardProc(ByVal idHook As Long, ByVal wParam As Long,
ByVal lParam As Long) As Long
.... Hier können alle systemweit aufgetretenen Keyboard-Ereignisse
abgefangen werden.
So weit - so gut.
Funktioniert prima. Blöderweise aber nur unter WinXP!
Da gibt hHook das korrekte Handle zurück, unter Win98 nur 0 !
Prinzipiell kann ich unter Win98 mit dieser Funktion auch eine einen
Keyboard-Hook installieren, wenn ich an SetWindowsHookEx nicht
WH_KEYBOARD_LL sondern WH_KEYBOARD (2&) übergebe. Leider funktioniert der
Hook dann aber nur für das aufrufende Programm und nicht systemweit!
Kennt jemand einen Workaround? Kann ich durch ein Update Win98 eventl. doch
noch das korrekte Verhalten beibringen?
- Next message: Dieter Strassner: "Re: ActiveX-EXE registrieren"
- Previous message: Peter Götz: "Re: Installationsprobleme unter Windows 98"
- Next in thread: Herfried K. Wagner [MVP]: "Re: Systemweiter Keyboard-Hook"
- Reply: Herfried K. Wagner [MVP]: "Re: Systemweiter Keyboard-Hook"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|