private void CycleProperty(object sender, System.Windows.Input.GestureEventArgs e) { PrepDown.Begin(); h1.DataContext = (DataContext as JournalDayVM).GetHeader(jvm.NextProperty()); CycleDown.Begin(); ValuesOut.Begin(); }
public void ProcessValues(RegistryKey key) { _values.Clear(); Errors.Clear(); try { foreach (var keyValue in key.Values) { //[F00000000][T01D005C5B44B6300][O00000000]*C:\Users\eric\Desktop\aa\Out\Deduplicated.tsv var segs = keyValue.ValueData.Split('*'); var fName = segs.Last(); var segs2 = segs.First().Split('['); //"T01D005C5B44B6300]" var rawTime = segs2[2]; rawTime = rawTime.Substring(1); rawTime = rawTime.Substring(0, rawTime.Length - 1); var time = Convert.ToInt64(rawTime, 16); var firstOpen = DateTimeOffset.FromFileTime(time); // @"Software\Microsoft\Office\15.0\Word\User MRU\*\File MRU", //Software\Microsoft\Office\15.0\Word\Reading Locations //Software\Microsoft\Office\15.0\Word\Reading Locations //Value Name Value Type Data //File Path RegSz C:\ProjectWorkingFolder\GOON2\GOON2\GOON2Manual.docx //jump up a few levels and check for Reading Locations var readingLocKey = key.Parent.Parent.Parent.SubKeys.SingleOrDefault(t => t.KeyName == "Reading Locations"); DateTimeOffset? lastOpen = null; if (readingLocKey != null) { foreach (var registryKey in readingLocKey.SubKeys) { var readingLocVal = registryKey.Values.SingleOrDefault(t => t.ValueName == "File Path"); if (readingLocVal != null) { if (readingLocVal.ValueData == fName) { lastOpen = registryKey.LastWriteTime; break; } } } } var v = new ValuesOut(keyValue.ValueName, firstOpen, lastOpen, fName); _values.Add(v); } } catch (Exception ex) { Errors.Add($"Error processing MRU key: {ex.Message}"); } if (Errors.Count > 0) { AlertMessage = "Errors detected. See Errors information in lower right corner of plugin window"; } }