private void Unhook() { if (_handle != IntPtr.Zero) { //bool ret = WinApi.UnhookWindowsHookEx(Handle); //if (ret == false) // throw new Win32Exception(Marshal.GetLastWin32Error()); //_hHook = 0; try { //Fix submitted by Simon Dallmair to handle win32 error when closing the form in vista if (!WinApi.UnhookWindowsHookEx(_handle)) { int lastWin32Error = Marshal.GetLastWin32Error(); Win32Exception ex = new Win32Exception(lastWin32Error); if (ex.NativeErrorCode != 0) { throw ex; } } _handle = IntPtr.Zero; } catch (Exception) { } } }
/// <summary> /// Unhooks the hook /// </summary> private void Unhook() { if (Handle != 0) { //bool ret = WinApi.UnhookWindowsHookEx(Handle); //if (ret == false) // throw new Win32Exception(Marshal.GetLastWin32Error()); //_hHook = 0; try { //Fix submitted by Simon Dallmair to handle win32 error when closing the form in vista if (!WinApi.UnhookWindowsHookEx(Handle)) { Win32Exception ex = new Win32Exception(Marshal.GetLastWin32Error()); if (ex.NativeErrorCode != 0) { throw ex; } } _hHook = 0; } catch (Exception exp) { MessageBox.Show(exp.Message); } } }
/// <summary> /// Unhooks the hook /// </summary> private void Unhook() { if (Handle != 0) { bool ret = WinApi.UnhookWindowsHookEx(Handle); //if (ret == false) // throw new Win32Exception(Marshal.GetLastWin32Error()); _hHook = 0; } }