Beispiel #1
0
        internal void TimerConnected_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (!controller.IsConnected)
            {
                timerConnected.Stop();
                timerDisconnected.Start();
                EventAggregator.Instance.Publish(new SignalMessage()
                {
                    controllerStatus = SignalMessageEnums.ControllerStatus.ControllerRemoved
                });
            }
            else
            {
                gamepad = controller.GetState().Gamepad;

                leftTrigger  = gamepad.LeftTrigger;
                rightTrigger = gamepad.RightTrigger;

                if (leftTrigger > 250 && rightTrigger > 250)
                {
                    if (gamepad.Buttons == GamepadButtonFlags.LeftThumb)
                    {
                        ProcessService.KillGTASocialClubProcess();
                    }
                    else if (gamepad.Buttons == GamepadButtonFlags.RightThumb)
                    {
                        ProcessService.Instance.SuspendGTAProcess();
                    }
                }
            }
        }
        public static IntPtr HwndHook(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
        {
            const int WM_HOTKEY = 0x0312;

            switch (msg)
            {
            case WM_HOTKEY:
                switch (wParam.ToInt32())
                {
                case HotkeyKill:
                    ProcessService.KillGTASocialClubProcess();
                    handled = true;
                    break;

                case HotkeySuspend:
                    ProcessService.Instance.SuspendGTAProcess();
                    handled = true;
                    break;
                }
                break;
            }
            return(IntPtr.Zero);
        }