public void Start() { if (_monitor != null) { return; } _monitor = new RegistryMonitor(Microsoft.Win32.RegistryHive.CurrentUser, RegString.REG_KEY_MPC_BE_RECENT_FILES); _monitor.RegChanged += On_MpcBe_RegChanged; _monitor.Start(); _lastFileList.Clear(); _lastFileList.AddRange(RegMethod.GetRecentFilePostDataList()); }
private void On_MpcBe_RegChanged(object sender, EventArgs e) { if (this.RegRecentFileChanged != null) { List <FilePosData> curRecentFileList = RegMethod.GetRecentFilePostDataList(); curRecentFileList.RemoveAll(x => _lastFileList.Exists(y => y.FullPath == x.FullPath && y.Position == x.Position && y.AudioTrack == x.AudioTrack && y.Subtitle == x.Subtitle)); this.RegRecentFileChanged(this, curRecentFileList); } }