Example #1
0
        // public event DeviceOperationHandler DeviceInserted;
        // public event DeviceOperationHandler DeviceRemoved;
        // public event DeviceOperationHandler DiskInserted;
        // public event DeviceOperationHandler DiskRemoved;
        public VolumeMonitor()
        {
            var eventWatcher1 = new WMIEventWatcher<VolumeChangeEvent>();
            var eventWatcher2 = new WMIEventWatcher<DeviceChangeEvent>();
            var instanceWatcher1 = new WMIInstanceWatcher<DiskDrive>();
            var instanceWatcher2 = new WMIInstanceWatcher<LogicalDisk>();

            eventWatcher1.EventOccurred += delegate(VolumeChangeEvent instance)
                {
                    Console.WriteLine(instance);
                };

            eventWatcher2.EventOccurred += delegate(DeviceChangeEvent instance)
                {
                    Console.WriteLine(instance);
                };

            instanceWatcher1.InstanceCreated += delegate(DiskDrive instance)
                {
                    Console.WriteLine(instance);
                };
            instanceWatcher1.InstanceDeleted += delegate(DiskDrive instance)
                {
                    Console.WriteLine(instance);
                };

            instanceWatcher2.InstanceCreated += delegate(LogicalDisk instance)
                {
                    Console.WriteLine(instance);
                };
            instanceWatcher2.InstanceDeleted += delegate(LogicalDisk instance)
                {
                    Console.WriteLine(instance);
                };

            eventWatcher1.Start();
            eventWatcher2.Start();
            instanceWatcher1.Start();
            instanceWatcher2.Start();
        }
Example #2
0
        // public event DeviceOperationHandler DeviceInserted;
        // public event DeviceOperationHandler DeviceRemoved;

        // public event DeviceOperationHandler DiskInserted;
        // public event DeviceOperationHandler DiskRemoved;

        public VolumeMonitor()
        {
            var eventWatcher1    = new WMIEventWatcher <VolumeChangeEvent>();
            var eventWatcher2    = new WMIEventWatcher <DeviceChangeEvent>();
            var instanceWatcher1 = new WMIInstanceWatcher <DiskDrive>();
            var instanceWatcher2 = new WMIInstanceWatcher <LogicalDisk>();

            eventWatcher1.EventOccurred += delegate(VolumeChangeEvent instance)
            {
                Console.WriteLine(instance);
            };

            eventWatcher2.EventOccurred += delegate(DeviceChangeEvent instance)
            {
                Console.WriteLine(instance);
            };

            instanceWatcher1.InstanceCreated += delegate(DiskDrive instance)
            {
                Console.WriteLine(instance);
            };
            instanceWatcher1.InstanceDeleted += delegate(DiskDrive instance)
            {
                Console.WriteLine(instance);
            };

            instanceWatcher2.InstanceCreated += delegate(LogicalDisk instance)
            {
                Console.WriteLine(instance);
            };
            instanceWatcher2.InstanceDeleted += delegate(LogicalDisk instance)
            {
                Console.WriteLine(instance);
            };

            eventWatcher1.Start();
            eventWatcher2.Start();
            instanceWatcher1.Start();
            instanceWatcher2.Start();
        }
Example #3
0
        /// <summary>
        /// Constructor
        /// </summary>
        public MainView(string[] param)
        {
            using (new TimeLogger("MainView.MainView"))
            {
                InitializeComponent();

                if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
                {
                    DataContext = new MainViewModel(param.Count() > 0 ? param[0] : string.Empty);

                    Messenger.Default.Register <NotificationMessage>(this, "Color", (s) =>
                    {
                        Uri source = new Uri(
                            string.Format("/CBR;Component/Resources/XAML/Colors/Colors.{0}.xaml", s.Notification),
                            UriKind.Relative);

                        Uri source2 = new Uri(
                            string.Format("/Fluent;Component/Themes/Office2010/{0}.xaml", s.Notification),
                            UriKind.Relative);

                        Application.Current.Resources.BeginInit();
                        Application.Current.Resources.MergedDictionaries.RemoveAt(0);
                        Application.Current.Resources.MergedDictionaries.RemoveAt(0);
                        Application.Current.Resources.MergedDictionaries.Insert(0, (ResourceDictionary)Application.LoadComponent(source));
                        Application.Current.Resources.MergedDictionaries.Insert(0, (ResourceDictionary)Application.LoadComponent(source2));
                        Application.Current.Resources.EndInit();
                    });
                }

                //start wmi watcher and load existing devices
                Task.Factory.StartNew(() =>
                {
                    try
                    {
                        _wmiWatcher = new WMIEventWatcher();
                        _wmiWatcher.StartWatchUSB();
                        _wmiWatcher.EventArrived += new WMIEventArrived(wmi_EventArrived);
                    }
                    catch (Exception err)
                    {
                        LogHelper.Manage("MainView.MainView start wmi watcher", err);
                    }
                });

                //start task to manage ByCode translations
                Task.Factory.StartNew(() =>
                {
                    try
                    {
                        CultureManager.Instance.GetLocalization("ByCode", "Warning", "Warning");
                        CultureManager.Instance.GetLocalization("ByCode", "Warning.Save", "Save the catalog and book changes ?");
                        CultureManager.Instance.GetLocalization("ByCode", "Warning.Delete", "Please, confirm the deletion");
                        CultureManager.Instance.GetLocalization("ByCode", "Warning.ScanFolder", "Your book folder is allready defined. Do you want to replace it ? Refreshing will work only with the new one.");
                        CultureManager.Instance.GetLocalization("ByCode", "Warning.CatalogPath", "Catalog path does not exist! Please check the options box");

                        CultureManager.Instance.GetLocalization("ByCode", "DocumentTitle.Home", "Home");
                        CultureManager.Instance.GetLocalization("ByCode", "DocumentTitle.Drives", "Drives");
                        CultureManager.Instance.GetLocalization("ByCode", "DocumentTitle.Libraries", "Libraries");

                        CultureManager.Instance.GetLocalization("ByCode", "ExplorerView.Title", "Library Explorer");
                        CultureManager.Instance.GetLocalization("ByCode", "TocView.Title", "Table of content");
                        CultureManager.Instance.GetLocalization("ByCode", "DriveExplorerView.Title", "Drive Explorer");

                        CultureManager.Instance.GetLocalization("ByCode", "MEGA", "(Mb)");
                        CultureManager.Instance.GetLocalization("ByCode", "KILO", "(Kb)");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.Start", "Starting conversion...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ParsingFolder", "Parsing folder {0}...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.Converting", "Converting {0}...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageFound", "{0} images founded...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageSaved", "{0} images saved...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageCountingKO", "Extracting {0} : {1} images for {2} pages - Try to merge !");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageMerge", "Merge to {0} new images...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageError", "Error extracting {0} : {1} images for {2} pages !!");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageCountingOK", "Extracting {0} images in {1} pages");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageExtracted", "{0} images extracted...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.ImageZipped", "{0} images zipped...");
                        CultureManager.Instance.GetLocalization("ByCode", "Convert.Output", "Output file written !");
                    }
                    catch (Exception err)
                    {
                        LogHelper.Manage("MainView.MainView start localize", err);
                    }
                });
            }
        }