예제 #1
0
        /// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>
        /// Title:          GET BRIGHTNESS
        /// Description:    this function gets the list of handles to all monitors and register their current brightness in CurrentBrightness.
        /// </summary>
        ///
        /// <param name="sender"></param>
        /// <param name="e"></param>
        ///
        private void GetBrightness(object sender, EventArgs e)
        {
            try
            {
                physicalMonitors = DisplayConfiguration.GetPhysicalMonitors(DisplayConfiguration.GetCurrentMonitor());

                foreach (DisplayConfiguration.PHYSICAL_MONITOR physicalMonitor in physicalMonitors)
                {
                    try
                    {
                        CurrentBrightness = DisplayConfiguration.GetMonitorBrightness(physicalMonitor);
                    }
                    catch
                    {
                        System.Diagnostics.Debug.WriteLine("ERROR: cannot get brightness!");
                        labelStatus.Text = "could not get brightness!";
                    }
                }
            }
            catch
            {
                System.Diagnostics.Debug.WriteLine("ERROR: cannot find monitors!");
                labelStatus.Text = "could not find monitors!";
            }

            UpdateObjects(sender, e);
        }
예제 #2
0
        private void StartBenchmarkButton_Click(object sender, RoutedEventArgs e)
        {
            DisplayConfiguration.PHYSICAL_MONITOR Handle = DisplayConfiguration.GetPhysicalMonitors(DisplayConfiguration.GetCurrentMonitor())[0];
            var    GetBrightnessWatch = System.Diagnostics.Stopwatch.StartNew();
            double Brightness         = DisplayConfiguration.GetMonitorBrightness(Handle);

            GetBrightnessWatch.Stop();

            var SetBrightnessWatchExtrems = System.Diagnostics.Stopwatch.StartNew();

            DisplayConfiguration.MonitorExtremums MonExtems = DisplayConfiguration.GetMonitorExtremums(Handle);
            uint dwMinimumBrightness = MonExtems.Min;
            uint dwMaximumBrightness = MonExtems.Max;

            DisplayConfiguration.SetMonitorBrightness(Handle, 1, dwMinimumBrightness, dwMaximumBrightness);
            SetBrightnessWatchExtrems.Stop();

            var SetBrightnessWatch = System.Diagnostics.Stopwatch.StartNew();

            DisplayConfiguration.SetMonitorBrightness(Handle, Brightness, dwMinimumBrightness, dwMaximumBrightness);
            SetBrightnessWatch.Stop();

            MessageBox.Show($"GetBrightness: {GetBrightnessWatch.ElapsedMilliseconds} ms.\n" +
                            $"SetBrightnessExtrems: {SetBrightnessWatchExtrems.ElapsedMilliseconds} ms.\n" +
                            $"SetBrightness: {SetBrightnessWatch.ElapsedMilliseconds} ms.\n\n" +
                            $"Total: {GetBrightnessWatch.ElapsedMilliseconds + SetBrightnessWatchExtrems.ElapsedMilliseconds + SetBrightnessWatch.ElapsedMilliseconds} ms.", "Benchmark Results");
        }