コード例 #1
0
        internal bool RegisterHook(Hook _detour, MethodBase from, MethodBase to, object target)
        {
            Assembly owner = GetHookOwner();

            if (owner == null)
            {
                return(true); // continue with default detour creation, we just don't track it
            }
            OnHook?.Invoke(owner, from, to, target);
            TrackDetour(owner, _detour);
            return(true);
        }
コード例 #2
0
ファイル: MouseHook.cs プロジェクト: YvesHenri/local-hooks
        private void HandleKeyDownHookEvent(MouseHookEventArgs args)
        {
            OnHook?.Invoke(args);

            lock (downButtons)
            {
                // Save button to recognize successfull key presses (down and up)
                bool added = downButtons.Add(args.Button);

                if (added)
                {
                    OnHold?.Invoke(args);
                }
            }
        }
コード例 #3
0
ファイル: MouseHook.cs プロジェクト: YvesHenri/local-hooks
        private void HandleKeyReleasedHookEvent(MouseHookEventArgs args)
        {
            OnHook?.Invoke(args);

            lock (downButtons)
            {
                bool removed = downButtons.Remove(args.Button);

                OnRelease?.Invoke(args);

                if (removed)
                {
                    OnClick?.Invoke(args);
                }
            }
        }
コード例 #4
0
ファイル: KeyboardHook.cs プロジェクト: YvesHenri/local-hooks
        private void HandleKeyReleasedHookEvent(KeyboardHookEventArgs args)
        {
            OnHook?.Invoke(args);

            lock (downKeys)
            {
                bool removed = downKeys.Remove(args.KeyCode);

                OnRelease?.Invoke(args);

                if (removed)
                {
                    OnPress?.Invoke(args);
                }
            }
        }
コード例 #5
0
ファイル: KeyboardHook.cs プロジェクト: YvesHenri/local-hooks
        private void HandleKeyDownHookEvent(KeyboardHookEventArgs args)
        {
            OnHook?.Invoke(args);

            lock (downKeys)
            {
                // Save button to prevent multiple events and also to recognize successfull key presses (down and up)
                bool added = downKeys.Add(args.KeyCode);

                if (added)
                {
                    OnHold?.Invoke(args); // First time
                }
                else
                {
                    if (!settings.HookHoldEventOnce)
                    {
                        OnHold?.Invoke(args);
                    }
                }
            }
        }