private void OnProcessStarted(object sender, EventArrivedEventArgs e) { try { uint processId = (uint)(e.NewEvent["TargetInstance"] as ManagementBaseObject).GetPropertyValue("ProcessId"); string eventType = e.NewEvent.ClassPath.ClassName; ProcessEventArgs args = new ProcessEventArgs(Process.GetProcessById((int)processId)); EventHandler<ProcessEventArgs> handler; switch (eventType) { case "__InstanceCreationEvent": handler = this.ProcessStarted; if (handler != null) this.ProcessStarted(this, args); break; case "__InstanceDeletionEvent": break; case "__InstanceModificationEvent": break; default: break; } } catch (Exception ex) { Debug.WriteLine(ex.ToString()); } }
private void OnProcessStarted(object sender, ProcessEventArgs e) { if (e.Process.ProcessName == (App.XIVProcessName) || e.Process.ProcessName == (App.XIV_DX11_ProcessName)) { Task.Factory.StartNew(() => { // we have to wait until the game is initialized Thread.Sleep(5000); dispatcher.Invoke((ThreadStart)(() => this.CreateOverlay(e.Process))); }); } }
private void OnProcessStarted(object sender, ProcessEventArgs e) { if (e.Process.ProcessName == (App.XIVProcessName)) dispatcher.Invoke((ThreadStart)(() => this.CreateOverlay(e.Process))); }
private void OnProcessStarted(object sender, ProcessEventArgs e) { if (e.Process.ProcessName == (App.XIVProcessName)) { Task.Factory.StartNew(() => { // we have to wait until the game is initialized Thread.Sleep(5000); dispatcher.Invoke((ThreadStart)(() => this.CreateOverlay(e.Process))); }); } }