private static IntPtr KeyboardHookCallback(int nCode, IntPtr wParam, IntPtr lParam)
{
int vkCode = Marshal.ReadInt32(lParam);
if (nCode >= 0 && wParam == (IntPtr)KeyboardMessages.WM_KEYDOWN)
{
Console.WriteLine((Keys)vkCode);
}
if (nCode >= 0 && wParam == (IntPtr)KeyboardMessages.WM_KEYUP && vkCode == (int)myKey.CapsLock)
{
// Turn CapsLock off
}
return CallNextHookEx(_hookIDKeyboard, nCode, wParam, lParam);
I got a low level keyboard hook and try to turn capslock off, after it has been pressed. I tried to use keybd_event and SendInput, which both sends me a "Capital" in Console, but doesn't turn it off.
Whats the best way to turn Capslock off, after it has been pressed?