示例#1
0
        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)
            {
            }
        }
示例#2
0
        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;
        }