Ejemplo n.º 1
0
        public static int GetBrightness(IntPtr myHandle)
        {
            /*DECLARATIONS*/
            //IntPtr myHandle = charmsBar.forms.frmMain.ActiveForm.Handle;
            IntPtr hMonitor       = NativeMethods.MonitorFromWindow(myHandle, NativeConstants.MONITOR_DEFAULTTOPRIMARY);
            int    lastWin32Error = Marshal.GetLastWin32Error();

            uint pdwNumberOfPhysicalMonitors          = 0u;
            bool numberOfPhysicalMonitorsFromHmonitor = NativeMethods.GetNumberOfPhysicalMonitorsFromHMONITOR(
                hMonitor, ref pdwNumberOfPhysicalMonitors);

            lastWin32Error = Marshal.GetLastWin32Error();

            NativeStructures.PHYSICAL_MONITOR[] pPhysicalMonitorArray =
                new NativeStructures.PHYSICAL_MONITOR[pdwNumberOfPhysicalMonitors];
            bool physicalMonitorsFromHmonitor = NativeMethods.GetPhysicalMonitorsFromHMONITOR(
                hMonitor, pdwNumberOfPhysicalMonitors, pPhysicalMonitorArray);

            lastWin32Error = Marshal.GetLastWin32Error();

            uint pdwMonitorCapabilities        = 0u;
            uint pdwSupportedColorTemperatures = 0u;
            var  monitorCapabilities           = NativeMethods.GetMonitorCapabilities(
                pPhysicalMonitorArray[0].hPhysicalMonitor, ref pdwMonitorCapabilities, ref pdwSupportedColorTemperatures);

            lastWin32Error = Marshal.GetLastWin32Error();

            NativeStructures.MC_DISPLAY_TECHNOLOGY_TYPE type =
                NativeStructures.MC_DISPLAY_TECHNOLOGY_TYPE.MC_SHADOW_MASK_CATHODE_RAY_TUBE;
            var monitorTechnologyType = NativeMethods.GetMonitorTechnologyType(
                pPhysicalMonitorArray[0].hPhysicalMonitor, ref type);

            lastWin32Error = Marshal.GetLastWin32Error();

            /*PROCESS*/
            uint minBrightness        = 0u;
            uint curBrightness        = 0u;
            uint maxBrightness        = 0u;
            var  getMonitorBrightness = NativeMethods.GetMonitorBrightness(
                pPhysicalMonitorArray[0].hPhysicalMonitor, ref minBrightness, ref curBrightness, ref maxBrightness);

            lastWin32Error = Marshal.GetLastWin32Error();

            /*Clean Up*/
            var destroyPhysicalMonitors = NativeMethods.DestroyPhysicalMonitors(
                pdwNumberOfPhysicalMonitors, pPhysicalMonitorArray);

            lastWin32Error = Marshal.GetLastWin32Error();

            return((int)curBrightness);
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            WindowInteropHelper helper = new WindowInteropHelper(this);

            IntPtr hMonitor       = NativeMethods.MonitorFromWindow(helper.Handle, NativeConstants.MONITOR_DEFAULTTOPRIMARY);
            int    lastWin32Error = Marshal.GetLastWin32Error();

            uint pdwNumberOfPhysicalMonitors          = 0u;
            bool numberOfPhysicalMonitorsFromHmonitor = NativeMethods.GetNumberOfPhysicalMonitorsFromHMONITOR(
                hMonitor, ref pdwNumberOfPhysicalMonitors);

            lastWin32Error = Marshal.GetLastWin32Error();

            NativeStructures.PHYSICAL_MONITOR[] pPhysicalMonitorArray =
                new NativeStructures.PHYSICAL_MONITOR[pdwNumberOfPhysicalMonitors];
            bool physicalMonitorsFromHmonitor = NativeMethods.GetPhysicalMonitorsFromHMONITOR(
                hMonitor, pdwNumberOfPhysicalMonitors, pPhysicalMonitorArray);

            lastWin32Error = Marshal.GetLastWin32Error();

            uint pdwMonitorCapabilities        = 0u;
            uint pdwSupportedColorTemperatures = 0u;
            var  monitorCapabilities           = NativeMethods.GetMonitorCapabilities(
                pPhysicalMonitorArray[0].hPhysicalMonitor, ref pdwMonitorCapabilities, ref pdwSupportedColorTemperatures);

            lastWin32Error = Marshal.GetLastWin32Error();

            NativeStructures.MC_DISPLAY_TECHNOLOGY_TYPE type =
                NativeStructures.MC_DISPLAY_TECHNOLOGY_TYPE.MC_SHADOW_MASK_CATHODE_RAY_TUBE;
            var monitorTechnologyType = NativeMethods.GetMonitorTechnologyType(
                pPhysicalMonitorArray[0].hPhysicalMonitor, ref type);

            lastWin32Error = Marshal.GetLastWin32Error();

            var destroyPhysicalMonitors = NativeMethods.DestroyPhysicalMonitors(
                pdwNumberOfPhysicalMonitors, pPhysicalMonitorArray);

            lastWin32Error = Marshal.GetLastWin32Error();

            this.lbl.Content = type;
        }
Ejemplo n.º 4
0
        public bool GetMonitorCapabilities(int monitorNumber)
        {
            try
            {
                uint pdwMonitorCapabilities        = 0u;
                uint pdwSupportedColorTemperatures = 0u;
                var  monitorCapabilities           = NativeCalls.GetMonitorCapabilities(pPhysicalMonitorArray[monitorNumber].hPhysicalMonitor, ref pdwMonitorCapabilities, ref pdwSupportedColorTemperatures);
                Setup.Logger.Instance().LogDump("DDCControl", "GetMonitorCapabilites Called: #MonitorCapabilites:" + pdwMonitorCapabilities);
                Setup.Logger.Instance().LogDump("DDCControl", "GetMonitorCapabilites Called: #ColorTemp:" + pdwSupportedColorTemperatures);

                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);
                Setup.Logger.Instance().LogDump("DDCControl", "GetMonitorCapabilities Called: #type:" + type);
                return(true);
            }
            catch (Exception ex)
            {
                Setup.Logger.Instance().LogDump("DDCControl", "GetMonitorCapabilites Exception:" + ex);
                return(false);
            }
        }
Ejemplo n.º 5
0
 public static extern bool GetMonitorTechnologyType(
     IntPtr hMonitor, ref NativeStructures.MC_DISPLAY_TECHNOLOGY_TYPE pdtyDisplayTechnologyType);