コード例 #1
0
 public static int KeyboardHook(int nCode, IntPtr wParam, IntPtr lParam)
 {
     try
     {
         if (nCode == 0)
         {
             Mubox.Win32.WindowHook.KBDLLHOOKSTRUCT keyboardHookStruct = (Mubox.Win32.WindowHook.KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(Mubox.Win32.WindowHook.KBDLLHOOKSTRUCT));
             if (OnKeyboardInputReceived((Win32.WM)wParam, keyboardHookStruct))
             {
                 return(1);
             }
         }
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.Message);
         Debug.WriteLine(ex.StackTrace);
     }
     try
     {
         return(Mubox.Win32.WindowHook.CallNextHookEx(hHook, nCode, wParam, lParam));
     }
     catch (Exception ex)
     {
         Debug.WriteLine(ex.Message);
         Debug.WriteLine(ex.StackTrace);
     }
     return(1);
 }
コード例 #2
0
        public static KeyboardInput CreateFrom(Win32.WM wParam, Mubox.Win32.WindowHook.KBDLLHOOKSTRUCT hookStruct)
        {
            KeyboardInput e = new KeyboardInput();

            e.VK    = hookStruct.vkCode;
            e.Scan  = hookStruct.scanCode;
            e.Flags = hookStruct.flags;
            e.Time  = hookStruct.time;
            e.WM    = wParam;
            return(e);
        }