摘要:接收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());
}
}
}