Beispiel #1
0
 public static void UnInstallHooks()
 {
     UnInstallResults.Add("WndProc", WinAPIs.UnhookWindowsHookEx(WndProc));
     UnInstallResults.Add("MsgProc", WinAPIs.UnhookWindowsHookEx(MsgProc));
     UnInstallResults.Add("KbProc", WinAPIs.UnhookWindowsHookEx(KbProc));
     UnInstallResults.Add("KbLLProc", WinAPIs.UnhookWindowsHookEx(KbLLProc));
     UnInstallResults.Add("MProc", WinAPIs.UnhookWindowsHookEx(MProc));
     UnInstallResults.Add("MLLProc", WinAPIs.UnhookWindowsHookEx(MLLProc));
     UnInstallResults.Add("MLLProc1", (int)WinAPIs.UninitializeHook(MLLProc1));
 }
Beispiel #2
0
        public static void InstallHooks()
        {
            WndHookProcedure     = new HookProc(CallWndProc);
            MsgHookProcedure     = new HookProc(GetMsgProc);
            KbHookProcedure      = new HookProc(KeyboardProc);
            KbLLHookProcedure    = new HookProc(LowLevelKeyboardProc);
            MouseHookProcedure   = new HookProc(MouseProc);
            MouseLLHookProcedure = new HookProc(LowLevelMouseProc);

            //WndProc = WinAPIs.SetWindowsHookEx(WindowsHookConstans.WH_CALLWNDPROC, WndHookProcedure, RunningDLLInstance, Thread.CurrentThread.ManagedThreadId);
            //if (WndProc == 0)
            //{
            //    int errorCode = Marshal.GetLastWin32Error();
            //    WinAPIs.UnhookWindowsHookEx(WndProc);
            //    throw new Win32Exception(errorCode);
            //}
            //MsgProc = WinAPIs.SetWindowsHookEx(Constants.WindowsHookConstans.WH_GETMESSAGE, MsgHookProcedure, RunningDLLInstance, 0);
            //if (MsgProc == 0)
            //{
            //    int errorCode = Marshal.GetLastWin32Error();
            //    WinAPIs.UnhookWindowsHookEx(MsgProc);
            //    throw new Win32Exception(errorCode);
            //}
            //KbProc = WinAPIs.SetWindowsHookEx(WindowsHookConstans.WH_KEYBOARD, KbHookProcedure, RunningDLLInstance, 0);
            //if (KbProc == 0)
            //{
            //    int errorCode = Marshal.GetLastWin32Error();
            //    WinAPIs.UnhookWindowsHookEx(KbProc);
            //    throw new Win32Exception(errorCode);
            //}
            //KbLLProc = WinAPIs.SetWindowsHookEx(Constants.WindowsHookConstans.WH_KEYBOARD_LL, KbLLHookProcedure, RunningDLLInstance, 0);
            //if (KbLLProc == 0)
            //{
            //    int errorCode = Marshal.GetLastWin32Error();
            //    WinAPIs.UnhookWindowsHookEx(KbLLProc);
            //    throw new Win32Exception(errorCode);
            //}
            //MProc = WinAPIs.SetWindowsHookEx(WindowsHookConstans.WH_MOUSE, MouseHookProcedure, RunningDLLInstance, 0);
            //if (MProc == 0)
            //{
            //    int errorCode = Marshal.GetLastWin32Error();
            //    WinAPIs.UnhookWindowsHookEx(MProc);
            //    throw new Win32Exception(errorCode);
            //}
            MLLProc = WinAPIs.SetWindowsHookEx(Constants.WindowsHookConstans.WH_MOUSE_LL, MouseLLHookProcedure, RunningDLLInstance, 0);
            //MLLProc1 = (uint)WinAPIs.SetWindowsHookExNative(MouseHookProcedure, (uint)Constants.WindowsHookConstans.WH_MOUSE_LL, WinAPIs.GetCurrentThreadId());
            if (MLLProc == 0)
            {
                int errorCode = Marshal.GetLastWin32Error();
                WinAPIs.UnhookWindowsHookEx(MLLProc);
                throw new Win32Exception(errorCode);
            }
        }