public ModifierClass(string fileName, EventHandler findWindoweventHandler) { FileName = fileName; handler = findWindoweventHandler; ProcessWriter = new ProcessWriter(); InitailzeSoftWare(); TimerCallback = TryToFindWindow; Timer = new System.Threading.Timer(TimerCallback); Timer.Change(intervalFindTime, 0); }
protected override ResponseData Request(RequestData requestData) { ProcessWriter.WriteLine(JsonConvert.SerializeObject(requestData)); ProcessWriter.Flush(); var s = Process.StandardOutput.ReadLine(); if (s != null) { return(JsonConvert.DeserializeObject <ResponseData>(s)); } else { Process.StandardError.ReadToEnd(); throw new Exception("Action意外结束"); } }
public override void Dispose() { if (Process != null) { ProcessWriter.WriteLine(); ProcessWriter.Flush(); Process.StandardOutput.ReadLine(); ProcessWriter.Close(); ProcessWriter.Dispose(); ProcessWriter = null; Process.Close(); Process.Dispose(); Process = null; } }
//Step 1: Define your own properties //Step 2: override and implement your own methods protected override uint GetBaseAddr() { byte[] aob = { 0x12, 0x34, 0x45 }; return(ProcessWriter.AOBscan(processWriter.ProcessInfo.Handle, aob, 3, 0x40000000)); }
protected override uint GetDestinationAddr(uint baseAddr, ProcessWriter processWriter) { return(this.GetBaseAddr()); }