2016-04-15 15 views
1

Ich schreibe eine App, um aktuelle Bildschirmhelligkeit zu lesen und pragmatisch einzustellen. Nach etwas suchen, fand ich den folgenden Code, die System.Management dllSystem.Management Fehler in UWP

static byte GetBrightness() 
     { 
      ManagementScope s = new ManagementScope("root\\WMI"); 
      SelectQuery q = new SelectQuery("WmiMonitorBrightness"); 

      ManagementObjectSearcher mos = new ManagementObjectSearcher(s, q); 

      ManagementObjectCollection moc = mosGet(); 

      byte curBrightness = 0; 

      foreach (System.Management.ManagementObject o in moc) 
      { 
       curBrightness = (byte)o.GetPropertyValue("CurrentBrightness"); 
       break; 
      } 

      moc.Dispose(); 
      mos.Dispose(); 

      return curBrightness; 
     } 

static void SetBrightness(byte targetBrightness) 
     { 
      ManagementScope s = new ManagementScope("root\\WMI"); 

      SelectQuery q = new SelectQuery("WmiMonitorBrightnessMethods"); 

      ManagementObjectSearcher mos = new ManagementObjectSearcher(s, q); 

      ManagementObjectCollection moc = mos.Get(); 

      foreach (System.Management.ManagementObject o in moc) 
      { 
       o.InvokeMethod("WmiSetBrightness", new Object[] { UInt32.MaxValue, targetBrightness }); 
      } 

      moc.Dispose(); 
      mos.Dispose(); 
     } 

I System.Management dll in UWP hinzufügen konnte erfordert. Aber wenn ich bauen, bekomme ich folgende Fehler:

C# Referenz auf den Typ ‚Komponente‘ Ansprüche es in ‚System‘ definiert ist, aber es könnte nicht

Gibt es eine Möglichkeit, dies zu erreichen finden in UWP?

Antwort

0

Sie versuchen, System.Management Namespace zu verwenden, das nur für .Net-Anwendungen verfügbar ist.
Sie können diese DLL mit UWP-Anwendung

+0

keine alternative Lösung für diesen Zweck in UWP verwenden? – siam

+0

Ich fürchte, es gibt keine Möglichkeit, Systemhelligkeit oder Lautstärke zu steuern. Sandboxed ... –