public bool Reconnect()
        {
            // Make sure our reconnect variables are valid
            if (_manager == null)
            {
                return(false);
            }

            _manager.InitComms();
            if (_manager.GetConnectedTarget() < 0)
            {
                return(false);
            }

            // Get current process state
            Types.ProcessState state = GetProcessState();

            // If it's already running or paused then we are already attached
            if (state != Types.ProcessState.Killed)
            {
                return(true);
            }

            // Otherwise, try attaching
            return(_manager.AttachProcess());
        }
        public bool SetProcessState(Types.ProcessState state)
        {
            if (!Ready || _manager == null)
            {
                return(false);
            }

            switch (state)
            {
            case Types.ProcessState.Running:
                _manager.ContinueProcess();
                break;

            case Types.ProcessState.Paused:
                _manager.StopProcess();
                break;

            case Types.ProcessState.Killed:
                // We can't exit a game p[ocess without throwing an exception so we can just reset to XMB
                _manager.ResetToXMB(TMAPI.ResetTarget.Quick);
                break;
            }

            return(true);
        }
        public bool Reconnect()
        {
            // Make sure our reconnect variables are valid
            if (_manager == null)
            {
                return(false);
            }
            if (lastPID <= 0)
            {
                return(false);
            }

            // Get current process state, attach process, return process to original state
            Types.ProcessState state = GetProcessState();
            bool attach = _manager.Attach(lastPID);

            if (attach)
            {
                SetProcessState(state);
            }
            return(attach);
        }
        public bool SetProcessState(Types.ProcessState state)
        {
            if (!Ready || _manager == null)
            {
                return(false);
            }

            switch (state)
            {
            case Types.ProcessState.Running:
                _manager.ContinueProcess();
                break;

            case Types.ProcessState.Paused:
                _manager.PauseProcess();
                break;

            case Types.ProcessState.Killed:
                _manager.KillProcess();
                break;
            }

            return(true);
        }