Esempio n. 1
0
    public static void GetKeyDownEvent(Action <string> response)
    {
        s_callback = CreateCallBack((status, data) =>
        {
            if (data.vkCode == 162)//判断按下的是否是ctrl
            {
                isCtrlDown = status == KeyBoredHookStatus.WM_KEYDOWN;
            }
            else if (status == KeyBoredHookStatus.WM_KEYDOWN)
            {
                //代码

                //Console.WriteLine($"{status} 虚拟码{(char)data.vkCode}");
                string key = (isCtrlDown ? "Ctrl" : "") + (((char)data.vkCode).ToString().ToUpper());
                response(key);
            }
        });
        IntPtr intPtr = SetWindowsHookEx(WindowsHookType.WH_KEYBOARD_LL, s_callback, IntPtr.Zero, 0);
    }
Esempio n. 2
0
 extern static IntPtr SetWindowsHookEx(WindowsHookType hookType, WindowsHookCallBack lpfn, IntPtr hmod, int dwThreadId);