private static IntPtr HookCallback( int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lParam); if (Control.ModifierKeys == (Keys.Control | Keys.Alt) && (Keys)vkCode == Keys.Left) { Instance.BeginInvoke((MethodInvoker)(() => { foreach (WmiMonitorBrightnessMethods methods in WmiMonitorBrightnessMethods.GetInstances()) { methods.WmiSetBrightness(0, 0); } })); } if (Control.ModifierKeys == (Keys.Control | Keys.Alt) && (Keys)vkCode == Keys.Right) { Instance.BeginInvoke((MethodInvoker)(() => { foreach (WmiMonitorBrightnessMethods methods in WmiMonitorBrightnessMethods.GetInstances()) { methods.WmiSetBrightness(100, 0); } })); } if (Control.ModifierKeys == (Keys.Control | Keys.Alt) && (Keys)vkCode == Keys.Up) { Instance.BeginInvoke((MethodInvoker)(() => { byte brightness = 0; foreach (WmiMonitorBrightness instance in WmiMonitorBrightness.GetInstances()) { brightness = instance.CurrentBrightness; } brightness += 5; if (brightness > 100) { brightness = 100; } foreach (WmiMonitorBrightnessMethods methods in WmiMonitorBrightnessMethods.GetInstances()) { methods.WmiSetBrightness(brightness, 0); } })); } if (Control.ModifierKeys == (Keys.Control | Keys.Alt) && (Keys)vkCode == Keys.Down) { Instance.BeginInvoke((MethodInvoker)(() => { byte brightness = 0; foreach (WmiMonitorBrightness instance in WmiMonitorBrightness.GetInstances()) { brightness = instance.CurrentBrightness; } brightness -= 5; if (brightness > 100) { brightness = 0; } foreach (WmiMonitorBrightnessMethods methods in WmiMonitorBrightnessMethods.GetInstances()) { methods.WmiSetBrightness(brightness, 0); } })); } } return(CallNextHookEx(_hookID, nCode, wParam, lParam)); }