public void SetHook(bool enable) { if (enable && m_hHook == 0) { m_HookCallback = new ColorPicker_NativeMethods.HookProc(HookCallbackProc); System.Reflection.Module module = System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0]; m_hHook = ColorPicker_NativeMethods.SetWindowsHookEx(WinUtil.WH_KEYBOARD_LL, m_HookCallback, System.Runtime.InteropServices.Marshal.GetHINSTANCE (module), 0); if (m_hHook == 0) { System.Windows.Forms.MessageBox.Show( "SetHook Failed. Please make sure the 'Visual Studio Host Process' on the debug setting page is disabled"); return; } return; } if (enable == false && m_hHook != 0) { ColorPicker_NativeMethods.UnhookWindowsHookEx(m_hHook); m_hHook = 0; } }