接收display brightness change event & get brightness information (外接螢幕無效)

  • 3130
  • 0

摘要:接收display brightness change event & get brightness information (外接螢幕無效)


       using System.Management;

        public MainWindow()
        {
            SetMonitorEvent();
        }

        public void SetMonitorEvent()
        {
            string scope = @"root\wmi";
            string queryStr = "SELECT * FROM WmiMonitorBrightnessEvent";
            EventWatcherOptions option = new EventWatcherOptions(null, new TimeSpan(0, 0, 1), 1);
            ManagementEventWatcher watcher = new ManagementEventWatcher(scope, queryStr, option);
            watcher.EventArrived += watcher_EventArrived;
            watcher.Start();
        }

        void watcher_EventArrived(object sender, EventArrivedEventArgs e)
        {
            ManagementClass brightnessManager = new ManagementClass("root\\WMI", "WmiMonitorBrightness", null);
            ManagementObjectCollection list = brightnessManager.GetInstances();
            foreach (ManagementObject want in list)
            {
                PropertyDataCollection proList = want.Properties;
                foreach (PropertyData proItem in proList)
                {
                        Console.WriteLine(proItem.Name + "  ----------  " + proItem.Value.ToString());
                }
            }
        }