public Main(IWowProcess process) { _process = process; _path = new List <Location>(); InitializeComponent(); }
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); }
private CommandManager(IWowProcess process, IProcessMemoryReader reader, KeyboardCommandDispatcher keyboard, ILogger logger) { _process = process; _reader = reader; _keyboard = keyboard; _logger = logger; }
public Service(ILogger logger) { _logger = logger; var proc = Process.GetProcessesByName("WoW").FirstOrDefault(); _process = new WowProcess(proc); ObjectManager.Start(_process, new ProcessMemoryReader(_process)); }
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); }
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(); }
public ProcessMemoryReader(IWowProcess process) { _processPtr = Win32Imports.OpenProcess(ProcessAllAccess, false, process.Id); }
public WowPlayer(IWowProcess wowProcess, IProcessMemoryReader reader, uint objectBaseAddress) : base(reader, objectBaseAddress) { _wowProcess = wowProcess; _reader = reader; }