wenn nicht, probiere mal das hier:
Code: Alles auswählen
Procedure.l myKeyboardHook(nCode, wParam, *p.KBDLLHOOKSTRUCT)
Char.s = Space(1)
If nCode = #HC_ACTION
If wParam = #WM_KEYUP Or wParam = #WM_SYSKEYUP
#LLKHF_ALTDOWN = $20
If GetAsyncKeyState_(#VK_ESCAPE) ;Escape pressed
If MessageRequester("EXIT", "End the KeyboardHook ??",#MB_YESNO) = #IDYES
UnhookWindowsHookEx_(hook)
End
EndIf
EndIf
If GetAsyncKeyState_(#VK_SHIFT) Or GetKeyState_($14) > 0
Check.i=ToAsciiEx_(*p\vkCode,MapVirtualKey_(*p\vkCode,0),@array.b, @Char.s,0,GetKeyboardLayout_(0));
Else
Check.i=ToAsciiEx_(*p\vkCode,MapVirtualKey_(*p\vkCode,0),array(), @Char.s,0,GetKeyboardLayout_(0));
EndIf
If Check.i
Debug Char.s
EndIf
EndIf
EndIf
ProcedureReturn CallNextHookEx_(hook, nCode, wParam, *p)
EndProcedure