コード例 #1
0
        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());
                }
        }
コード例 #2
0
 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)));
         });
     }
 }
コード例 #3
0
 private void OnProcessStarted(object sender, ProcessEventArgs e)
 {
     if (e.Process.ProcessName == (App.XIVProcessName))
         dispatcher.Invoke((ThreadStart)(() => this.CreateOverlay(e.Process)));
 }
コード例 #4
0
 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)));
         });
     }
 }