public BrightnessInfo GetBrightnessCapabilities(int monitorNumber) { short current = -1, minimum = -1, maximum = -1; HighLevelNativeCalls.GetMonitorBrightness(PhysicalMonitors[monitorNumber].hPhysicalMonitor, ref minimum, ref current, ref maximum); return(new BrightnessInfo { Minimum = minimum, Maximum = maximum, Current = current }); }
//private void GetMonitorCapabilities(int monitorNumber) //{ // uint pdwMonitorCapabilities = 0u; // uint pdwSupportedColorTemperatures = 0u; // var monitorCapabilities = NativeCalls.GetMonitorCapabilities(pPhysicalMonitorArray[monitorNumber].hPhysicalMonitor, ref pdwMonitorCapabilities, ref pdwSupportedColorTemperatures); // Debug.WriteLine(pdwMonitorCapabilities); // Debug.WriteLine(pdwSupportedColorTemperatures); // int lastWin32Error = Marshal.GetLastWin32Error(); // NativeStructures.MC_DISPLAY_TECHNOLOGY_TYPE type = NativeStructures.MC_DISPLAY_TECHNOLOGY_TYPE.MC_SHADOW_MASK_CATHODE_RAY_TUBE; // var monitorTechnologyType = NativeCalls.GetMonitorTechnologyType(pPhysicalMonitorArray[monitorNumber].hPhysicalMonitor, ref type); // Debug.WriteLine(type); // lastWin32Error = Marshal.GetLastWin32Error(); //} public bool SetBrightness(short brightness, int monitorNumber) { var brightnessWasSet = HighLevelNativeCalls.SetMonitorBrightness(PhysicalMonitors[monitorNumber].hPhysicalMonitor, (short)brightness); if (brightnessWasSet) { Debug.WriteLine("Brightness set to " + (short)brightness); } int lastWin32Error = Marshal.GetLastWin32Error(); return(brightnessWasSet); }