我们有一些代码可以应对笔记本电脑上的亮度降低问题。 它依赖于System.Management调用。 它可以在笔记本电脑上正常工作,但在没有电源管理的PC上会抛出异常: System.Management.ManagementException“不支持” 我不想使其工作(对此,请参见System.Management.ManagementException),但只想检测不支持它的情况,然后尽早退出以避免引发异常。 有办法吗?
我试图在stackoverflow和其他互联网上寻找相同或相似的问题。
目前,我正在使用try catch来处理此问题,但希望不必依赖于此。
System.Management.ManagementScope s = new System.Management.ManagementScope("root\\WMI");
System.Management.SelectQuery q = new System.Management.SelectQuery("WmiMonitorBrightness");
System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(s, q);
try {
System.Management.ManagementObjectCollection moc = mos.Get();
foreach (System.Management.ManagementObject o in moc) { // exception here
...
实际:System.Management.ManagementException“不受支持”
预期:应更早测试支持,如果不支持则退出