コード例 #1
0
        private void OnProcessAcquired(ProcessMonitor m, ProcessEventArgs e)
        {
            ProcessUtils.Logger($"MONITOR@{ProcessName}",
                                $"Process acquired in {ProcessUtils.ElapsedToString(e.Elapsed)}: {e.ProcessName}.exe [{e.TargetProcess.Id}]");

            HasAcquired = true;
            MonitorTimer.Change(Timeout.Infinite, Timeout.Infinite);
            SearchTimer.Change(0, Interval);
            ProcessAcquired?.Invoke(m, e);
        }
コード例 #2
0
        private void OnProcessHardExit(ProcessMonitor m, ProcessEventArgs e)
        {
            if (e.TargetProcess != null)
            {
                ProcessUtils.Logger($"MONITOR@{ProcessName}",
                                    $"Timed out after {ProcessUtils.ElapsedToString(e.Elapsed)} searching for a matching process: {e.ProcessName}.exe");
            }
            else
            {
                ProcessUtils.Logger($"MONITOR@{ProcessName}",
                                    $"Could not detect a running process after waiting {ProcessUtils.ElapsedToString(e.Elapsed)}...");
            }

            Stop();
            ProcessHardExit?.Invoke(m, e);
        }
コード例 #3
0
 private void OnLauncherExited(object sender, ProcessEventArgs e)
 {// edge case if launcher times out (or closes) before game launches
     ProcessUtils.Logger("OSOL",
                         $"Launcher could not be acquired within {ProcessUtils.ElapsedToString(e.Elapsed)}, cleaning up...");
     OnClosing();
 }