Exemplo n.º 1
0
 private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) // Defining a keyboard shortcut
 {
     if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
     {
         int vkCode = Marshal.ReadInt32(lParam);
         if (vkCode == 162 || vkCode == 163) // 162 is Left Ctrl, 163 is Right Ctrl
         {
             ctrlPressed = true;
         }
         else if (vkCode == 83 && ctrlPressed == true) // "S"
         {
             ctrlPressed  = false;
             ctrlSPressed = true;
         }
         else if (vkCode == 68 && ctrlSPressed == true) // "D"
         {
             ctrlPressed  = false;
             ctrlSPressed = false;
             Console.WriteLine("\"CTRL + S + D\" is PRESSED!");
             SnippingTool.Snip();
         }
         else
         {
             ctrlPressed  = false;
             ctrlSPressed = false;
         }
     }
     return(CallNextHookEx(_hookID, nCode, wParam, lParam));
 }
Exemplo n.º 2
0
        public static void Snip()
        {
            var screens = ScreenHelper.GetMonitorsInfo();

            _forms = new SnippingTool[screens.Count];
            for (int i = 0; i < screens.Count; i++)
            {
                int hRes = screens[i].HorizontalResolution;
                int vRes = screens[i].VerticalResolution;
                int top  = screens[i].MonitorArea.Top;
                int left = screens[i].MonitorArea.Left;
                var bmp  = new Bitmap(hRes, vRes, PixelFormat.Format32bppPArgb);
                using (var g = Graphics.FromImage(bmp))
                {
                    g.CopyFromScreen(left, top, 0, 0, bmp.Size);
                }
                _forms[i] = new SnippingTool(bmp, left, top, hRes, vRes);
                _forms[i].Show();
            }
        }