示例#1
0
        static void Main(string[] args)
        {
            CreateTray();
            ShowWindow(ThisConsole, showWindow);

            var currectDisk = Directory.GetDirectoryRoot(Directory.GetCurrentDirectory());
            var windowsDisk = Directory.GetDirectoryRoot(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));

            var resourcesToMonitor = new List <IMonitorResource>();

            if (!currectDisk.Equals(windowsDisk))
            {
                resourcesToMonitor.Add(new FileMonitor(windowsDisk));
            }
            resourcesToMonitor.Add(new FileMonitor(currectDisk));
            resourcesToMonitor.Add(ProcessMonitor.GetInstance());

            foreach (var resource in resourcesToMonitor)
            {
                Thread thread = new Thread(new ThreadStart(resource.StartMonitoring));
                thread.Start();
            }

            Application.Run();
        }
示例#2
0
文件: Program.cs 项目: Desz01ate/Mute
        static void Main(string[] args)
        {
            handler = new ConsoleEventDelegate(ConsoleEventCallback);
            SetConsoleCtrlHandler(handler, true);

            monitor = ProcessMonitor.GetInstance();
            monitor.OnWindowChanged += Mon_OnWindowChanged;
            monitor.OnStopped       += Monitor_OnStopped;
            while (true)
            {
                Thread.Sleep(100);
            }
        }
示例#3
0
        public MainWindow()
        {
            InitializeComponent();

            using var cacheFs      = CacheFileManager.GetFileCache("exclude.json");
            using var streamReader = new StreamReader(cacheFs);
            exceptions             = JsonConvert.DeserializeObject <List <string> >(streamReader.ReadToEnd());

            monitor = ProcessMonitor.GetInstance();
            monitor.OnWindowChanged += Mon_OnWindowChanged;
            monitor.OnStopped       += Monitor_OnStopped;
            this.Closing            += MainWindow_Closing;
        }