Пример #1
0
        /// <summary>
        /// 向Windows註冊Hook。
        /// </summary>
        private static void Install()
        {
            if (m_HookHandle == 0)
            {
                Process       curProcess = Process.GetCurrentProcess();
                ProcessModule curModule  = curProcess.MainModule;

                m_HookProc   = new NativeStructs.HookProc(HookProc);
                m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_MOUSE_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0);

                curModule.Dispose();
                curProcess.Dispose();

                m_DoubleClickTimer = new Timer
                {
                    Interval = NativeMethods.GetDoubleClickTime(),
                    Enabled  = false
                };
                m_DoubleClickTimer.Tick += DoubleClickTimeElapsed;
                GlobalMouseDown         += OnMouseDown;

                if (m_HookHandle == 0)
                {
                    throw new Exception("Install Hook Faild.");
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 向Windows註冊Hook。
        /// </summary>
        private static void Install()
        {
            if (m_HookHandle == 0)
            {
                Process       curProcess = Process.GetCurrentProcess();
                ProcessModule curModule  = curProcess.MainModule;

                m_HookProc   = new NativeStructs.HookProc(HookProc);
                m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_KEYBOARD_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0);

                curModule.Dispose();
                curProcess.Dispose();

                if (m_HookHandle == 0)
                {
                    throw new Exception("Install Hook Faild.");
                }
            }
        }
Пример #3
0
 public static extern int SetWindowsHookEx(int idHook, NativeStructs.HookProc lpfn, IntPtr hInstance, int threadId);
Пример #4
0
        /// <summary>
        /// 向Windows註冊Hook。
        /// </summary>
        private static void Install()
        {
            if (m_HookHandle == 0)
            {
                Process curProcess = Process.GetCurrentProcess();
                ProcessModule curModule = curProcess.MainModule;

                m_HookProc = new NativeStructs.HookProc(HookProc);
                m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_KEYBOARD_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0);

                curModule.Dispose();
                curProcess.Dispose();

                if (m_HookHandle == 0)
                    throw new Exception("Install Hook Faild.");
            }
        }
Пример #5
0
        /// <summary>
        /// 向Windows註冊Hook。
        /// </summary>
        private static void Install()
        {
            if (m_HookHandle == 0)
            {
                Process curProcess = Process.GetCurrentProcess();
                ProcessModule curModule = curProcess.MainModule;

                m_HookProc = new NativeStructs.HookProc(HookProc);
                m_HookHandle = NativeMethods.SetWindowsHookEx(NativeContansts.WH_MOUSE_LL, m_HookProc, NativeMethods.GetModuleHandle(curModule.ModuleName), 0);

                curModule.Dispose();
                curProcess.Dispose();

                m_DoubleClickTimer = new Timer
                {
                    Interval = NativeMethods.GetDoubleClickTime(),
                    Enabled = false
                };
                m_DoubleClickTimer.Tick += DoubleClickTimeElapsed;
                GlobalMouseDown += OnMouseDown;

                if (m_HookHandle == 0)
                    throw new Exception("Install Hook Faild.");
            }
        }