Beispiel #1
0
 protected override bool ReleaseHandle()
 {
     //NOTE Calling Unhook during processexit causes deley
     if (_closing)
     {
         return(true);
     }
     return(HookNativeMethods.UnhookWindowsHookEx(handle) != 0);
 }
Beispiel #2
0
        // Token: 0x06000317 RID: 791 RVA: 0x0000F43C File Offset: 0x0000D63C
        private static HookResult HookGlobal(int hookId, Callback callback)
        {
            HookProcedure       hookProcedure       = (int code, IntPtr param, IntPtr lParam) => HookHelper.HookProcedure(code, param, lParam, callback);
            HookProcedureHandle hookProcedureHandle = HookNativeMethods.SetWindowsHookEx(hookId, hookProcedure, Process.GetCurrentProcess().MainModule.BaseAddress, 0);

            if (hookProcedureHandle.IsInvalid)
            {
                HookHelper.ThrowLastUnmanagedErrorAsException();
            }
            return(new HookResult(hookProcedureHandle, hookProcedure));
        }
Beispiel #3
0
        // Token: 0x06000316 RID: 790 RVA: 0x0000F3EC File Offset: 0x0000D5EC
        private static HookResult HookApp(int hookId, Callback callback)
        {
            HookProcedure       hookProcedure       = (int code, IntPtr param, IntPtr lParam) => HookHelper.HookProcedure(code, param, lParam, callback);
            HookProcedureHandle hookProcedureHandle = HookNativeMethods.SetWindowsHookEx(hookId, hookProcedure, IntPtr.Zero, ThreadNativeMethods.GetCurrentThreadId());

            if (hookProcedureHandle.IsInvalid)
            {
                HookHelper.ThrowLastUnmanagedErrorAsException();
            }
            return(new HookResult(hookProcedureHandle, hookProcedure));
        }
Beispiel #4
0
 private static IntPtr CallNextHookEx(int nCode, IntPtr wParam, IntPtr lParam)
 {
     return(HookNativeMethods.CallNextHookEx(IntPtr.Zero, nCode, wParam, lParam));
 }
Beispiel #5
0
 // Token: 0x06000328 RID: 808 RVA: 0x00003815 File Offset: 0x00001A15
 protected override bool ReleaseHandle()
 {
     return(HookProcedureHandle._closing || HookNativeMethods.UnhookWindowsHookEx(this.handle) != 0);
 }