private static void OnDeleted(object source, FileSystemEventArgs e) { string _Size; string _Type = null; string _FileName; string _Permissions; string Parent = Directory.GetParent(e.FullPath).ToString(); string _Author = null; if (Path.HasExtension(e.FullPath)) { try { _Author = File.GetAccessControl(e.FullPath).GetOwner(typeof(NTAccount)).ToString(); } catch (Exception) { } } else { try { _Author = Directory.GetAccessControl(e.FullPath).GetOwner(typeof(NTAccount)).ToString(); } catch (Exception) { } _Type = "Folder"; } if (_Author != null) { _Author = _Author.Remove(0, 12); } try { _Size = new FileInfo(e.FullPath).Length.ToString(); } catch (Exception) { _Size = "Unknown"; } try { _Type = new FileInfo(e.FullPath).Extension; } catch (Exception) { if (_Type == null) { _Type = "Unknown Type"; } else { _Type = "Unknown Type"; } } try { _FileName = Path.GetFileName(e.Name); } catch (Exception) { _FileName = "Unknown"; } try { _Permissions = new FileInfo(e.FullPath).IsReadOnly.ToString(); } catch (Exception ex) { _Permissions = "Unknown"; GlobalException.No++; GlobalException.AllExceptions.Add(new Model.ExceptionModel { No = GlobalException.No, Date = DateTime.Now.ToShortDateString(), Time = DateTime.Now.ToShortTimeString(), Message = ex.Message }); GlobalException.LogTheException(); } if (GlobalResources.IsRestrictionsMonitoringSet & GlobalResources.IsFileSytemRestrictionSet) { Agent_FileSystem.Analyse(e.FullPath, _Author); } try { System.Windows.Application.Current.Dispatcher.Invoke(delegate { FSMListHolder.Add(new FileSystemReportsModel() { Time = DateTime.Now.ToString(), ChangeType = e.ChangeType.ToString() + "...", FileType = _Type, Name = _FileName, Size = _Size.ToString() + " bytes", FullPath = e.FullPath, Permissions = _Permissions, Author = _Author }); }); } catch (Exception) { } }
private static void Worker_DoWork(object sender, DoWorkEventArgs e) { ObservableCollection <ApplicationsModel> ProgramHolderListOfWorker = new ObservableCollection <ApplicationsModel>(); ProgramHolderListOfWorker = e.Argument as ObservableCollection <ApplicationsModel>; string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; RegistryKey rk; using (rk = Registry.CurrentUser.OpenSubKey(uninstallKey)) { foreach (string skName in rk.GetSubKeyNames()) { using (RegistryKey sk = rk.OpenSubKey(skName)) { try { var displayName = sk.GetValue("DisplayName"); var Size = sk.GetValue("EstimatedSize"); string publisher; string path; try { publisher = sk.GetValue("Publisher").ToString(); path = sk.GetValue("InstallLocation").ToString(); } catch (Exception m) { publisher = "Exception"; path = "Exception"; GlobalException.No++; GlobalException.AllExceptions.Add(new Model.ExceptionModel { No = GlobalException.No, Date = DateTime.Now.ToShortDateString(), Time = DateTime.Now.ToShortTimeString(), Message = m.Message }); GlobalException.LogTheException(); } if (publisher == null) { publisher = "no data"; } if (path == null) { path = "no data"; } ProgramHolderListOfWorker.Add(new ApplicationsModel { Name = displayName.ToString(), Size = Convert.ToInt32(Size), Path = path.ToString(), Publisher = publisher.ToString() }); } catch (Exception m) { GlobalException.No++; GlobalException.AllExceptions.Add(new Model.ExceptionModel { No = GlobalException.No, Date = DateTime.Now.ToShortDateString(), Time = DateTime.Now.ToShortTimeString(), Message = m.Message }); GlobalException.LogTheException(); } } } } using (rk = Registry.LocalMachine.OpenSubKey(uninstallKey)) { foreach (string skName in rk.GetSubKeyNames()) { using (RegistryKey sk = rk.OpenSubKey(skName)) { try { var displayName = sk.GetValue("DisplayName"); var Size = sk.GetValue("EstimatedSize"); string publisher; string path; try { publisher = sk.GetValue("Publisher").ToString(); path = sk.GetValue("InstallLocation").ToString(); } catch (Exception m) { publisher = "Exception"; path = "Exception"; GlobalException.No++; GlobalException.AllExceptions.Add(new Model.ExceptionModel { No = GlobalException.No, Date = DateTime.Now.ToShortDateString(), Time = DateTime.Now.ToShortTimeString(), Message = m.Message }); GlobalException.LogTheException(); } if (publisher == null) { publisher = "no data"; } if (path == null) { path = "no data"; } ProgramHolderListOfWorker.Add(new ApplicationsModel { Name = displayName.ToString(), Size = Convert.ToInt32(Size), Path = path.ToString(), Publisher = publisher.ToString() }); } catch (Exception m) { GlobalException.No++; GlobalException.AllExceptions.Add(new Model.ExceptionModel { No = GlobalException.No, Date = DateTime.Now.ToShortDateString(), Time = DateTime.Now.ToShortTimeString(), Message = m.Message }); GlobalException.LogTheException(); } } } } using (rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall")) { foreach (string skName in rk.GetSubKeyNames()) { using (RegistryKey sk = rk.OpenSubKey(skName)) { try { var displayName = sk.GetValue("DisplayName"); var Size = sk.GetValue("EstimatedSize"); string publisher; string path; try { publisher = sk.GetValue("Publisher").ToString(); path = sk.GetValue("InstallLocation").ToString(); } catch (Exception m) { publisher = "Exception"; path = "Exception"; GlobalException.No++; GlobalException.AllExceptions.Add(new Model.ExceptionModel { No = GlobalException.No, Date = DateTime.Now.ToShortDateString(), Time = DateTime.Now.ToShortTimeString(), Message = m.Message }); GlobalException.LogTheException(); } if (publisher == null) { publisher = "no data"; } if (path == null) { path = "no data"; } ProgramHolderListOfWorker.Add(new ApplicationsModel { Name = displayName.ToString(), Size = Convert.ToInt32(Size), Path = path.ToString(), Publisher = publisher.ToString() }); } catch (Exception m) { GlobalException.No++; GlobalException.AllExceptions.Add(new Model.ExceptionModel { No = GlobalException.No, Date = DateTime.Now.ToShortDateString(), Time = DateTime.Now.ToShortTimeString(), Message = m.Message }); GlobalException.LogTheException(); } } } } e.Result = ProgramHolderListOfWorker; }