habe bisher eine nervige Erfahrung gemacht und bisher keine Lösung gefunden.
Code:
Code: Alles auswählen
Global hWindow,hook
Global Dim Array.b(256)
Structure KBDLLHOOKSTRUCT
vkCode.l
scanCode.l
flags.l
time.l
dwExtraInfo.l
EndStructure
Global HWND = 0
Procedure.l myKeyboardHook(nCode, wParam, *p.KBDLLHOOKSTRUCT)
Char.s = Space(1)
If nCode = #HC_ACTION
If wParam = #WM_KEYUP Or wParam = #WM_SYSKEYUP Or wParam = #WM_KEYDOWN Or wParam = #WM_SYSKEYDOWN
If GetAsyncKeyState_(#VK_ESCAPE) ;Escape pressed
UnhookWindowsHookEx_(hook)
End
EndIf
GetKeyboardState_(@Array())
If GetAsyncKeyState_(#VK_SHIFT) Or GetKeyState_($14) > 0
Check.i=ToAsciiEx_(*p\vkCode,*p\scanCode.l,@dummy, @Char.s,0,GetKeyboardLayout_(0));
Else
Check.i=ToAsciiEx_(*p\vkCode,*p\scanCode.l,@array(), @Char.s,0,GetKeyboardLayout_(0));
EndIf
If Check.i And wParam = #WM_KEYUP
Debug Char.s
EndIf
EndIf
EndIf
ProcedureReturn CallNextHookEx_(hook, nCode, wParam, *p)
EndProcedure
#WH_KEYBOARD_LL = 13
hook = SetWindowsHookEx_(#WH_KEYBOARD_LL,@myKeyboardHook(),GetModuleHandle_(0),0)
If hook = 0: End: EndIf
hWindow = OpenWindow(1,0,0,0,0,"k8D h00K",#PB_Window_Invisible)
Repeat
WaitWindowEvent()
ForEver
Probiert es selber aus..
Bei der schnellen(!) Eingabe von "Test" erfolgt des öfteren der Text "test" statt "Test".
Ist ja noch in Ordnung. Nur bei Zeichen wie "ß" statt "?" ist es einfach nervig.
Bei langsamer Eingabe bzw längerem drücken der SHIFT-Taste passiert das nicht,
dann funktioniert immer alles. Aber ich bin einer der schnelleren Sorte

Jemand ne Idee, das besser zu lösen?
Code stammt hier aus dem Forum, um es eben mal zu zeigen, was ich meine

MFG,
Tombi