Exemple #1
0
        public frmMain()
        {
            InitializeComponent();
            InitialiseProfiles();
            InitialiseTrackBars();

            Log("Started.");

            var @delegate = new NativeMethods.MonitorEnumDelegate(MonitorEnum);
            NativeMethods.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, @delegate, IntPtr.Zero);
            Log("Number of physical monitors: {0}", _monitorCollection.Count);

            foreach (Monitor monitor in _monitorCollection)
            {
                Log("-----");
                Log(monitor.Name);
                Log(monitor.Index);
                Log(monitor.HPhysicalMonitor);
                Log("DDC : {0}", monitor.SupportsDDC);
                Log("Brightness : {0}", monitor.Brightness.Supported);
                Log("Contrast : {0}", monitor.Contrast.Supported);
                Log("RGB Drive : {0}", monitor.RgbDrive.Supported);
                Log("RGB Gain : {0}", monitor.RgbGain.Supported);

                cboMonitors.Items.Add(monitor.Name);
            }
            if (cboMonitors.Items.Count > 0) cboMonitors.SelectedIndex = 0;

            Log("");
            Log("Ready...");
            return;
        }
Exemple #2
0
        private void AddMonitors()
        {
            // Dispose and remove any old monitors
            foreach (Monitor m in monitorCollection)
            {
                m.Dispose();
            }
            monitorCollection.Clear();

            var @delegate = new NativeMethods.MonitorEnumDelegate(MonitorEnum);

            NativeMethods.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, @delegate, IntPtr.Zero);
            Log("Number of physical monitors: {0}", monitorCollection.Count);

            foreach (Monitor monitor in monitorCollection)
            {
                Log("-----");
                Log(monitor.Name);
                Log("Index: {0}", monitor.Index);
                Log("Physical: {0}", monitor.HPhysicalMonitor);


                // Only add monitor if DDC is supported
                if (monitor.Brightness.IsSupported)
                {
                    BrightnessMenuItem newMenuItem = new BrightnessMenuItem();
                    newMenuItem.MonitorTrackBarControl.Monitor = monitor;
                    newMenuItem.MonitorTrackBarControl.OnSetBrightnessFailed += MonitorTrackBarControl_OnSetBrightnessFailed;
                    contextMenu.Items.Insert(0, newMenuItem);
                    monitor.Tag = newMenuItem;
                }
            }
        }
Exemple #3
0
        public MonitorList()
        {
            ml = new ObservableCollection <Monitor>();
            var @delegate = new NativeMethods.MonitorEnumDelegate(MonitorEnum);

            NativeMethods.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, @delegate, IntPtr.Zero);
        }
Exemple #4
0
 public Form1()
 {
     InitializeComponent();
     OSName = getOSName();
     if (OSName.Contains("Windows 7"))
     {
         OSName = "win7";
     }
     else
     {
         OSName = "win8";
     }
     this.FormClosing             += Form1_FormClosing;
     notifyIcon1.MouseDoubleClick += notifyIcon1_MouseDoubleClick;
     this.WindowState              = FormWindowState.Minimized;
     this.ShowInTaskbar            = false;
     if (OSName.Equals("win8"))
     {
         var @delegate = new NativeMethods.MonitorEnumDelegate(MonitorEnum);
         NativeMethods.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, @delegate, IntPtr.Zero);
         bLevels = GetBrightnessLevels(); //get the level array for this system
         if (bLevels.Count() == 0)        //"WmiMonitorBrightness" is not supported by the system
         {
             Application.Exit();
         }
         else
         {
             /*
              * trackBar1.TickFrequency = bLevels.Count(); //adjust the trackbar ticks according the number of possible brightness levels
              * trackBar1.Maximum = bLevels.Count() - 1;
              * trackBar1.Update();
              * trackBar1.Refresh();
              */
             check_brightness();
         }
     }
 }
Exemple #5
0
        public MainWindow()
        {
            InitializeComponent();
            this.ShowCloseButton = false;
            this.Hide();
            //this.WindowState = WindowState.Normal;
            //this.Show();

            SettingsWindow sw = new SettingsWindow();
            sw.Hide();

            /// Enumerate Displays
            var MyInfoEnumProc = new NativeMethods.MonitorEnumDelegate(MonitorEnum);
            NativeMethods.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, MyInfoEnumProc, IntPtr.Zero);
            ReadInfo(_monitorCollection[selectedMonitor]);
            foreach (Monitor monitor in _monitorCollection)
            {
                monCollection.Add(monitor.Name);
            }

            var desktopWorkingArea = SystemParameters.WorkArea;
            this.Left = desktopWorkingArea.Right - this.Width;
            this.Top = desktopWorkingArea.Bottom - this.Height;
            Console.WriteLine(selectedMonitor);

            /// Create a tray icon & menu
            NotifyIcon ni = new NotifyIcon();
            ContextMenu cm = new ContextMenu();
            MenuItem mi1 = new MenuItem();
            MenuItem mi2 = new MenuItem();
            ni.Icon = new System.Drawing.Icon("main.ico");
            ni.Visible = true;
            ni.Click +=
                delegate (object sender, EventArgs e)
                {
                    MouseEventArgs me = (MouseEventArgs)e;
                    if (me.Button == MouseButtons.Left)
                    {
                        if (WindowState == WindowState.Minimized)
                        {
                            this.WindowState = WindowState.Normal;
                            this.Show();
                        }
                        else if (WindowState == WindowState.Normal)
                        {
                            this.Hide();
                            this.WindowState = WindowState.Minimized;
                        }

                    }
                };
            ni.ContextMenu = cm;
            cm.MenuItems.AddRange(
                    new MenuItem[] { mi2 });
            mi2.Index = 0;
            mi2.Text = "C&onfiguration";
            mi2.Click +=
                delegate (object sender, EventArgs args)
                {
                    sw.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                    if (sw.Visibility == Visibility.Hidden)
                    {
                        sw.WindowState = WindowState.Normal;
                        sw.ShowDialog();
                    } //////!!!!!!!!!!!!!!!!!!!! ON CLOSE SET TO HIDDEN
                };
            cm.MenuItems.AddRange(
                    new MenuItem[] { mi1 });
            mi1.Index = 1;
            mi1.Text = "E&xit";
            mi1.Click +=
                delegate (object sender, EventArgs args)
                {
                    System.Windows.Application.Current.MainWindow.Hide();
                    System.Windows.Application.Current.Shutdown();
                };
        }
Exemple #6
0
        public MainWindow()
        {
            InitializeComponent();
            this.ShowCloseButton = false;
            this.Hide();
            //this.WindowState = WindowState.Normal;
            //this.Show();

            SettingsWindow sw = new SettingsWindow();

            sw.Hide();

            /// Enumerate Displays
            var MyInfoEnumProc = new NativeMethods.MonitorEnumDelegate(MonitorEnum);

            NativeMethods.EnumDisplayMonitors(IntPtr.Zero, IntPtr.Zero, MyInfoEnumProc, IntPtr.Zero);
            ReadInfo(_monitorCollection[selectedMonitor]);
            foreach (Monitor monitor in _monitorCollection)
            {
                monCollection.Add(monitor.Name);
            }

            var desktopWorkingArea = SystemParameters.WorkArea;

            this.Left = desktopWorkingArea.Right - this.Width;
            this.Top  = desktopWorkingArea.Bottom - this.Height;
            Console.WriteLine(selectedMonitor);


            /// Create a tray icon & menu
            NotifyIcon  ni  = new NotifyIcon();
            ContextMenu cm  = new ContextMenu();
            MenuItem    mi1 = new MenuItem();
            MenuItem    mi2 = new MenuItem();

            ni.Icon    = new System.Drawing.Icon("main.ico");
            ni.Visible = true;
            ni.Click  +=
                delegate(object sender, EventArgs e)
            {
                MouseEventArgs me = (MouseEventArgs)e;
                if (me.Button == MouseButtons.Left)
                {
                    if (WindowState == WindowState.Minimized)
                    {
                        this.WindowState = WindowState.Normal;
                        this.Show();
                    }
                    else if (WindowState == WindowState.Normal)
                    {
                        this.Hide();
                        this.WindowState = WindowState.Minimized;
                    }
                }
            };
            ni.ContextMenu = cm;
            cm.MenuItems.AddRange(
                new MenuItem[] { mi2 });
            mi2.Index  = 0;
            mi2.Text   = "C&onfiguration";
            mi2.Click +=
                delegate(object sender, EventArgs args)
            {
                sw.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                if (sw.Visibility == Visibility.Hidden)
                {
                    sw.WindowState = WindowState.Normal;
                    sw.ShowDialog();
                }     //////!!!!!!!!!!!!!!!!!!!! ON CLOSE SET TO HIDDEN
            };
            cm.MenuItems.AddRange(
                new MenuItem[] { mi1 });
            mi1.Index  = 1;
            mi1.Text   = "E&xit";
            mi1.Click +=
                delegate(object sender, EventArgs args)
            {
                System.Windows.Application.Current.MainWindow.Hide();
                System.Windows.Application.Current.Shutdown();
            };
        }