Beispiel #1
0
 private static extern IntPtr SetWindowsHookEx(int idHook, MouseHookEventHandler lpfn, IntPtr hMod, uint dwThreadId);
Beispiel #2
0
            /// <summary>
            /// 重载:设置Mouse钩子(开始Hook)
            /// </summary>
            public void InstallHook(UserMouseHookEventHandler userMouseProc)
            {
                userProcMouse = userMouseProc; //传入UserMouseHookEventHandler方法的入口地址
                procMouse = new MouseHookEventHandler(MouseHookCallback); //告知钩子子程的具体实现

                hookID = SetWindowsHookEx(
                    HookType,  // 钩子的类型
                    procMouse,  //钩子子程的入口地址,当钩子钩到任何消息后便调用钩子子程
                    GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName), //应用程序实例的句柄
                    0); //0表示钩子子程与所有的线程关联(全局钩子)
            }