Exemplo n.º 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 Win32Native.Structures.HookProc(HookProc);
                m_HookHandle = Win32Native.Methods.SetWindowsHookEx(Win32Native.NativeContansts.WH_MOUSE_LL, m_HookProc, Win32Native.Methods.GetModuleHandle(curModule.ModuleName), 0);

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

                m_DoubleClickTimer = new System.Windows.Forms.Timer
                {
                    Interval = (int)Win32Native.Methods.GetDoubleClickTime(),
                    Enabled  = false
                };
                m_DoubleClickTimer.Tick += DoubleClickTimeElapsed;
                GlobalMouseDown         += OnMouseDown;

                if (m_HookHandle == 0)
                {
                    throw new Exception("Install Hook Faild.");
                }
            }
        }
Exemplo n.º 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 Win32Native.Structures.HookProc(HookProc);

                m_HookHandle = Win32Native.Methods.SetWindowsHookEx(Win32Native.NativeContansts.WH_KEYBOARD_LL, m_HookProc, Win32Native.Methods.GetModuleHandle(curModule.ModuleName), 0);
                curModule.Dispose();
                curProcess.Dispose();

                if (m_HookHandle == 0)
                {
                    throw new Exception("Install Hook Faild.");
                }
            }
        }
Exemplo n.º 3
0
 public static extern int SetWindowsHookEx(int idHook, Win32Native.Structures.HookProc lpfn, IntPtr hInstance, int threadId);