Exemplo n.º 1
0
        public Main(IWowProcess process)
        {
            _process = process;
            _path    = new List <Location>();

            InitializeComponent();
        }
Exemplo n.º 2
0
        public static CommandManager GetDefault(IWowProcess process = null, IProcessMemoryReader reader   = null,
                                                KeyboardCommandDispatcher keyboard = null, ILogger logger = null)
        {
            if (_commandManager != null)
            {
                return(_commandManager);
            }

            if (process == null)
            {
                throw new ArgumentNullException(nameof(process));
            }
            if (reader == null)
            {
                throw new ArgumentNullException(nameof(reader));
            }
            if (keyboard == null)
            {
                throw new ArgumentNullException(nameof(keyboard));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }

            _commandManager = new CommandManager(process, reader, keyboard, logger);
            return(_commandManager);
        }
Exemplo n.º 3
0
 private CommandManager(IWowProcess process, IProcessMemoryReader reader, KeyboardCommandDispatcher keyboard,
                        ILogger logger)
 {
     _process  = process;
     _reader   = reader;
     _keyboard = keyboard;
     _logger   = logger;
 }
Exemplo n.º 4
0
        public Service(ILogger logger)
        {
            _logger = logger;
            var proc = Process.GetProcessesByName("WoW").FirstOrDefault();

            _process = new WowProcess(proc);
            ObjectManager.Start(_process, new ProcessMemoryReader(_process));
        }
Exemplo n.º 5
0
        public static KeyboardCommandDispatcher GetKeyboard(IWowProcess process = null)
        {
            if (_instance != null)
            {
                return(_instance);
            }

            if (process == null)
            {
                throw new ArgumentNullException(nameof(process), "Keyboard not initialised. Process must be provided");
            }

            _instance = new KeyboardCommandDispatcher(process.MainWindowHandle);
            return(_instance);
        }
Exemplo n.º 6
0
        public static void Start(IWowProcess process, IProcessMemoryReader processMemoryReader)
        {
            if (_running)
            {
                return;
            }

            _running = true;

            AdministrativeRights.Ensure();

            _reader  = processMemoryReader;
            _process = process;

            if (_process == null)
            {
                throw new ArgumentNullException(nameof(process));
            }

            _cancellationSource = new CancellationTokenSource();
            _pulseTask          = new Task(async() =>
            {
                while (!_cancellationSource.IsCancellationRequested)
                {
                    try
                    {
                        Pulse();
                        await Task.Delay(new TimeSpan(0, 0, 0, 0, 10));
                    }
                    catch (Exception)
                    {
                        _cancellationSource.Cancel();
                        throw;
                    }
                }
            }, _cancellationSource.Token);

            Pulse();
            _pulseTask.Start();
        }
Exemplo n.º 7
0
 public ProcessMemoryReader(IWowProcess process)
 {
     _processPtr = Win32Imports.OpenProcess(ProcessAllAccess, false, process.Id);
 }
Exemplo n.º 8
0
 public WowPlayer(IWowProcess wowProcess, IProcessMemoryReader reader, uint objectBaseAddress)
     : base(reader, objectBaseAddress)
 {
     _wowProcess = wowProcess;
     _reader     = reader;
 }