private void CompareSnapshots() { RegistrySnapshot lhs; RegistrySnapshot rhs; ChangeResult[] results; lhs = null; rhs = null; results = new ChangeResult[0]; this.PerformAction(() => lhs = RegistrySnapshot.LoadFromFile(PathHelpers.GetFullPath(_files[0])), "Loading first snapshot"); this.PerformAction(() => rhs = RegistrySnapshot.LoadFromFile(PathHelpers.GetFullPath(_files[1])), "Loading second snapshot"); if (lhs != null && rhs != null) { this.PerformAction(() => { RegistrySnapshotComparer comparer; comparer = new RegistrySnapshotComparer(lhs, rhs); results = comparer.Compare(); }, "Comparing snapshots"); } this.PrintResults(results); if (this.ExitCode == ExitCode.InvalidArguments) { this.ExitCode = results.Length == 0 ? ExitCode.Success : ExitCode.CompareMismatch; } }
private void TakeSnapshot() { RegistrySnapshot snapshot; RegistrySnapshotBuilder builder; builder = new RegistrySnapshotBuilder(); snapshot = new RegistrySnapshot(); foreach (string key in _keys) { this.PerformAction(() => { RegistryKeySnapshot keySnapshot; keySnapshot = builder.TakeSnapshot(key); keySnapshot.Name = key; snapshot.Keys.Add(keySnapshot); }, $"Snapshotting {key}"); } _currentSnapshot = snapshot; this.SaveSnapshot(); if (this.ExitCode == ExitCode.InvalidArguments) { this.ExitCode = ExitCode.Success; } }
private void viewButton_Click(object sender, EventArgs e) { if (snapshotsListBox.SelectedItem == null) { MessageBox.Show("Please select the snapshot to view.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } else { RegistrySnapshot snapshot; string fileName; this.SetStatus("Loading snapshot..."); fileName = ((FileInfo)snapshotsListBox.SelectedItem).FullPath; snapshot = RegistrySnapshot.LoadFromFile(fileName); this.SetStatus(null); using (ViewDialog dialog = new ViewDialog(snapshot)) { dialog.ShowDialog(this); } } }
public void TakeSnapshot_should_return_snapshot_of_single_key() { // arrange RegistrySnapshotBuilder target; RegistryKeySnapshot snapshot; RegistryKeySnapshot compare; RegistrySnapshot lhs; RegistrySnapshot rhs; ChangeResult[] expected; ChangeResult[] actual; target = new RegistrySnapshotBuilder(); compare = this.LoadBaseSnapshot().Keys[0]; compare.Name = "Tests"; lhs = new RegistrySnapshot(); lhs.Keys.Add(compare); expected = new ChangeResult[0]; this.CreateBase(); // act snapshot = target.TakeSnapshot(this.FullRootKeyName); // assert rhs = new RegistrySnapshot(); rhs.Keys.Add(snapshot); actual = new RegistrySnapshotComparer(lhs, rhs).Compare(); CollectionAssert.AreEqual(expected, actual); }
private void compareBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { TaskOptions options; RegistrySnapshot lhs; RegistrySnapshot rhs; RegistrySnapshotComparer comparer; options = (TaskOptions)e.Argument; lhs = RegistrySnapshot.LoadFromFile(options.FileName1); rhs = RegistrySnapshot.LoadFromFile(options.FileName2); comparer = new RegistrySnapshotComparer(lhs, rhs); e.Result = comparer.Compare(); }
private void snapshotBackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { TaskOptions options; RegistrySnapshot snapshot; string fileName; string name; options = (TaskOptions)e.Argument; name = DateTime.Now.ToString("yyyyMMdd HHmm"); fileName = PathHelpers.GetUniqueFileName(name, options.OutputPath); snapshot = RegistrySnapshot.TakeSnapshot(options.Keys); snapshot.Name = name; snapshot.Save(fileName); e.Result = snapshot; }
public ViewDialog(RegistrySnapshot snapshot) : this() { _snapshot = snapshot; }
protected RegistrySnapshot LoadSnapshot(string name) { return(RegistrySnapshot.LoadFromFile(Path.Combine(this.DataPath, name + ".rge"))); }
private void AddSnapshot(RegistrySnapshot snapshot) { this.AddSnapshot(snapshot.FileName); }