コード例 #1
0
        private void HookKeyboard()
        {
            _keyboardProc = keyboardHandler;
            using (var process = Process.GetCurrentProcess())
            {
                using (var module = process.MainModule)
                {
                    var moduleHandler = NativeMethods.GetModuleHandle(module.ModuleName);

                    _previousKeyboardHandler = NativeMethods.SetWindowsHookEx(
                        NativeMethods.WH_KEYBOARD_LL, _keyboardProc, moduleHandler, 0);

                    if (_previousKeyboardHandler.IsInvalid)
                    {
                        throw new Win32Exception(Marshal.GetLastWin32Error());
                    }
                }
            }
        }
コード例 #2
0
        private void HookKeyboard()
        {
            _keyboardProc = keyboardHandler;
            using (var process = Process.GetCurrentProcess())
            {
                using (var module = process.MainModule)
                {
                    var moduleHandler = NativeMethods.GetModuleHandle(module.ModuleName);

                    _previousKeyboardHandler = NativeMethods.SetWindowsHookEx(
                        NativeMethods.WH_KEYBOARD_LL, _keyboardProc, moduleHandler, 0);

                    if (_previousKeyboardHandler.IsInvalid)
                    {
                        throw new Win32Exception(Marshal.GetLastWin32Error());
                    }
                }
            }
        }
コード例 #3
0
 internal static extern IntPtr CallNextHookEx(SafeWinHandle hhk, int nCode, IntPtr wParam, ref KBDLLHOOKSTRUCT lParam);
コード例 #4
0
 internal static extern IntPtr CallNextHookEx(SafeWinHandle hhk, int nCode, IntPtr wParam, ref KBDLLHOOKSTRUCT lParam);