コード例 #1
0
        private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
        {
            if (nCode >= 0 && wParam == (IntPtr)HotKeyManager.WM_KEYDOWN)
            {
                int    vkCode = Marshal.ReadInt32(lParam);
                string theKey = ((Keys)vkCode).ToString();

                if (theKey.Contains("ControlKey"))
                {
                    HotKeyManager.CONTROL_DOWN = true;
                }
                else if (HotKeyManager.CONTROL_DOWN && theKey == "F12")
                {
                    if (ConsoleHidden)
                    {
                        ShowWindow(GetConsoleWindow(), 0);
                        HotKeyManager.ConsoleHidden = false;
                    }
                    else
                    {
                        ShowWindow(GetConsoleWindow(), 5);
                        HotKeyManager.ConsoleHidden = true;
                    }
                }
            }
            else if (nCode >= 0 && wParam == (IntPtr)HotKeyManager.WM_KEYUP)
            {
                int    vkCode = Marshal.ReadInt32(lParam);
                string theKey = ((Keys)vkCode).ToString();

                if (theKey.Contains("ControlKey"))
                {
                    HotKeyManager.CONTROL_DOWN = false;
                }
            }

            return(HotKeyManager.CallNextHookEx(HotKeyManager._hookID, nCode, wParam, lParam));
        }