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); }