public void Install_Hook()
{
if (this.MouseHookHandle == 0)
{
MouseDelegate = MouseHookProc;
this.MouseHookHandle = NativeMethods.SetWindowsHookEx(
HookType.WH_MOUSE_LL,
this.MouseDelegate,
NativeMethods.GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName),
0);
if (this.MouseHookHandle == 0)
{
int errorCode = Marshal.GetLastWin32Error();
throw new Win32Exception("MouseHook.EnsureGlobalMouseEvents()->" + NativeMethods.GetLastErrorString(errorCode));
}
}
}