public void ApplicationInfoComparingTest() { ApplicationInfo info1 = new ApplicationInfo { Name = "proc1", PPID = 1231, EndTime = DateTime.Now }; ApplicationInfo info2 = new ApplicationInfo { Name = "proc1", PPID = 1231 }; Assert.IsTrue(ApplicationInfo.AreEqualsByProcess(info1, info2)); Assert.IsFalse(ApplicationInfo.AreEqual(info1, info2)); }
private void refreshTimer_Elapsed(object sender, ElapsedEventArgs e) { ApplicationInfoCollection result = new ApplicationInfoCollection(); result.AddRange(ProcessMonitor.GetProcesses()); foreach (ApplicationInfo info in this.CollectedInfo) { ApplicationInfo running = result .FirstOrDefault(item => ApplicationInfo.AreEqualsByProcess(item, info)); if (running == null) { info.IsRunning = false; } } this.storage.CurrentState.MergeWith(result); }