diff -r 19c1aaf900dc -r 7acec5059fa6 WindowsHook.cs
--- a/WindowsHook.cs	Tue Aug 12 20:37:57 2014 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-//=============================================================================
-// COPYRIGHT: Prosoft-Lanz
-//=============================================================================
-//
-// $Workfile: WindowsHook.cs $
-//
-// PROJECT : CodeProject Components
-// VERSION : 1.00
-// CREATION : 19.02.2003
-// AUTHOR : JCL
-//
-// DETAILS : This class implement the Windows hook mechanism.
-//           From MSDN, Dino Esposito.
-//
-//-----------------------------------------------------------------------------
-using System;
-using System.Runtime.InteropServices;
-
-namespace CodeProject.Win32API.Hook
-{
-	///////////////////////////////////////////////////////////////////////
-	#region Class HookEventArgs
-
-	/// Class used for hook event arguments.
-	public class HookEventArgs : EventArgs
-	{
-		/// Event code parameter.
-		public int code;
-		/// wParam parameter.
-		public IntPtr wParam;
-		/// lParam parameter.
-		public IntPtr lParam;
-
-		internal HookEventArgs(int code, IntPtr wParam, IntPtr lParam)
-		{
-			this.code = code;
-			this.wParam = wParam;
-			this.lParam = lParam;
-		}
-	}
-	
-	#endregion
-
-	///////////////////////////////////////////////////////////////////////
-	#region Enum HookType
-
-	/// Hook Types.
-	public enum HookType : int
-	{
-		/// 0
-		WH_JOURNALRECORD = 0,
-		/// 1
-		WH_JOURNALPLAYBACK = 1,
-		/// 2
-		WH_KEYBOARD = 2,
-		/// 3
-		WH_GETMESSAGE = 3,
-		/// 4
-		WH_CALLWNDPROC = 4,
-		/// 5
-		WH_CBT = 5,
-		/// 6
-		WH_SYSMSGFILTER = 6,
-		/// 7
-		WH_MOUSE = 7,
-		/// 8
-		WH_HARDWARE = 8,
-		/// 9
-		WH_DEBUG = 9,
-		/// 10
-		WH_SHELL = 10,
-		/// 11
-		WH_FOREGROUNDIDLE = 11,
-		/// 12
-		WH_CALLWNDPROCRET = 12,		
-		/// 13
-		WH_KEYBOARD_LL = 13,
-		/// 14
-		WH_MOUSE_LL = 14
-	}
-	#endregion
-
-	///////////////////////////////////////////////////////////////////////
-	#region Class WindowsHook
-
-	/// 
-	/// Class to expose the windows hook mechanism.
-	/// 
-	public class WindowsHook
-	{
-		/// 
-		/// Hook delegate method.
-		/// 
-		public delegate int HookProc(int code, IntPtr wParam, IntPtr lParam);
-
-		// internal properties
-		internal IntPtr hHook = IntPtr.Zero;
-		internal HookProc filterFunc = null;
-		internal HookType hookType;
-
-		/// 
-		/// Hook delegate method.
-		/// 
-		public delegate void HookEventHandler(object sender, HookEventArgs e);
-
-		/// 
-		/// Hook invoke event.
-		/// 
-		public event HookEventHandler HookInvoke;
-
-		internal void OnHookInvoke(HookEventArgs e)
-		{
-			if (HookInvoke != null)
-				HookInvoke(this, e);
-		}
-
-		/// 
-		/// Construct a HookType hook.
-		/// 
-		/// Hook type.
-		public WindowsHook(HookType hook)
-		{
-			hookType = hook;
-			filterFunc = new HookProc(this.CoreHookProc);
-		}
-		/// 
-		/// Construct a HookType hook giving a hook filter delegate method.
-		/// 
-		/// Hook type
-		/// Hook filter event.
-		public WindowsHook(HookType hook, HookProc func)
-		{
-			hookType = hook;
-			filterFunc = func; 
-		}
-
-		// default hook filter function
-		internal int CoreHookProc(int code, IntPtr wParam, IntPtr lParam)
-		{
-			if (code < 0)
-				return CallNextHookEx(hHook, code, wParam, lParam);
-
-			// let clients determine what to do
-			HookEventArgs e = new HookEventArgs(code, wParam, lParam);
-			OnHookInvoke(e);
-
-			// yield to the next hook in the chain
-			return CallNextHookEx(hHook, code, wParam, lParam);
-		}
-
-		/// 
-		/// Install the hook. 
-		/// 
-		public void Install()
-		{
-			hHook = SetWindowsHookEx(hookType, filterFunc, IntPtr.Zero, (int)AppDomain.GetCurrentThreadId());
-		}
-
-		
-		/// 
-		/// Uninstall the hook.
-		/// 
- 		public void Uninstall()
-		{
-			if (hHook != IntPtr.Zero)
-			{
-				UnhookWindowsHookEx(hHook);
-				hHook = IntPtr.Zero;
-			}
-		}
-
-		#region Win32 Imports
-
-		[DllImport("user32.dll")]
-		internal static extern IntPtr SetWindowsHookEx(HookType code, HookProc func, IntPtr hInstance, int threadID);
-
-		[DllImport("user32.dll")]
-		internal static extern int UnhookWindowsHookEx(IntPtr hhook); 
-
-		[DllImport("user32.dll")]
-		internal static extern int CallNextHookEx(IntPtr hhook, int code, IntPtr wParam, IntPtr lParam);
-
-		#endregion
-	}
-	#endregion
-}