📄 mousehook.htm
字号:
<html>
<head>
<title>True Global System Keyboard Hook</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="DESCRIPTION" content="Delphi Keyboard Hook">
<meta name="KEYWORDS" content="delphi,keyboard,hook,global,system,keys,scan,codes,record,windows,source,dll,keyboard hook">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<b><font face="Verdana, Arial, Helvetica, sans-serif" size="4">TCPMouseHook</font></b><font face="Verdana, Arial, Helvetica, sans-serif"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="4">®</font></b>
<font size="2">System Wide Mouse Hook and DLL for Borland Delphi.</font></font>
<hr noshade size="1">
<font face="Verdana, Arial, Helvetica, sans-serif"><font size="2"><b>Version</b>:
1.3<BR>
<font face="Verdana, Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif"><b>Release Date </b>: 03/05/2005</font></font><br>
</font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b> Delphi Versions: </b>4/5/6/7/8/9<b><br>
</b></font><font size="2"><b>Developer</b>: BITLOGIC Software Solutions <br>
<b>Copyright</b>: BITLOGIC © 2001<br>
<b>E-Mail</b>: <a href="mailto:development@bitlogic.co.uk">development@bitlogic.co.uk</a><br>
<b>Web</b>: <a href="http://www.bitlogic.co.uk">www.bitlogic.co.uk</a></font></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><br>
<b><br>
</b>
<b>
Download: </b><a href="http://www.bitlogic.co.uk/downloads/mousehook.zip">mousehook.zip</a></font><br>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><SPAN class="text_main"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Purchase Online:</b> <a href="https://secure.shareit.com/shareit/checkout.html?productid=213274&language=English">DLL Licence Keys only</a><BR>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Purchase Online:</b> <a href="https://secure.shareit.com/shareit/checkout.html?productid=213275&language=English">DLL Source Code & Licence Keys</a></font></font></font></font></font></font></SPAN><SPAN class="text_main"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><BR>
<BR>
This component is also included in the <A href="http://www.bitlogic.co.uk/products_borland_tcphookpack.htm">Delphi Hook Pack Collection</A>.</font></SPAN><br>
</font>
<hr noshade size="1">
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Overview</b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Hooking into the
Windows API is a complicated process and there are several techniques to achieve
this.<br>
Microsoft recommends that the callback procedure for most hooks should reside
within a DLL, this is the<br>
method used by the TCPMouseHook Component. The Component encapsulates the procedures
and functions<br>
within the separate DLL and uses Memory Mapped File (MMF) to send a custom message with the mouse <BR>
state
to the calling application or process.
The result is a system wide hook into all global mouse <BR>
events generated by the user mouse input. </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Component Features</b></font></p>
<ul>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Supports Windows
95/98/ME/NT/2000/XP<b>.</b></font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Ultra small
DLL with almost no overhead or impact on system resources.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Simple component
with one Event passing mouse position and button states.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">True Global,
System Wide Mouse Hook on all running Threads/Applications.</font></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Disable Pointer or Individual Mouse Buttons from being processed by windows.</FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Swap the Left and Right Mouse Buttons. </FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Invert/Mirror or Wrap the Mouse Pointer Cursor. </FONT></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Event Returns
X and Y absolute and relative positions of Mouse Cursor.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Event Returns
State of Buttons and Scroll Wheel. </font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Event Returns
Hit Point Codes of the current Mouse Cursor.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Indication if
Mouse Cursor is within certain areas of a Window.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Custom message
can be set for communication with the DLL.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Install as a
Component or use Unit and Functions directly.</font></li>
</ul>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Component Usage</b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">You can use the
TCPMouseHook within your project to monitor Mouse activity, Disable the Mouse or to<BR>
obtain
the
state of which Buttons are being pressed in real time.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Component Installation</b></font></p>
<p><font color="#990000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Note:
MouseHook.Dll must be placed within the same directory as your project or system
path and also<BR>
within the folder in which any application uses the Dll.</strong></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">To use as a component, simply install
the registration file <font color="#0000CC">CPMouseHookReg.pas</font> as a new
component into an existing<BR>
or new
Package. TCPMouseHook can also be created dynamicly by using the CPMouseHook.pas
within your projects.<br>
Always place the <font color="#000099">MouseHook.DLL </font>into the same location
as your project or anywhere the path can find it. </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i>Quick Start
Steps:</i></font></p>
<ul>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Place the component
into your current project.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Setup the OnMouse
Event.</font></li>
<li><FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>Optionally set your Licence Code for non-trial use.</FONT></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Optionally set
and register the custom UserHookMsg to WM_USER + [1 to 65535]</font></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Optionally set DisableMouse option. </FONT></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Invoke the Function
Start_MouseHook. </font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Process the
OnMouse Events.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Invoke the Function
Stop_MouseHook when finished.</font></li>
</ul>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Methods, Events
& Properties</b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i>Methods:</i></font></p>
<ul>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Start_MouseHook
</b> Function:Boolean Starts the MouseHook.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Stop_MouseHook
</b> Function:Boolean Stops the MouseHook.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>UpdateHook</b> Function:Boolean Updates the Hook with new Property values. </font></li>
</ul>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i>Events:</i></font></p>
<ul>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>OnMouse</b> <I>TMouseHookedEvent</I> Hook Notification Event of Mouse state.<br>
<B>TMouseStates</B> State of the current Mouse pointer, cursor position and Buttons.</font>
<UL>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>x</B>: <I>integer</I> value of horizontal X cursor position on screen.</font></LI>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>y</B>: <I>integer</I> value of vertical Y cursor position on screen.</font></LI>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>dx</B>: <I>word</I> value of horizontal X pointer absolute coordinate.</font></LI>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>dy</B>: <I>word</I> value of vertical Y pointer absolute coordinate.</font></LI>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>Window</B>: <I>hwnd</I> value of current Window Handle under the pointer.</font></LI>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>HitTestCode</B>: <I>cardinal</I> value indicating the functional area under the pointer.</font></LI>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ExtraInfo</B>: <I>cardinal</I> value used to indicate a call to mouse_event.</font></LI>
<LI><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><B>ButtonInfo</B>: <I>integer</I> value contains the state of all Mouse Buttons.</font></LI>
</UL>
</li>
</ul>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i>Properties:</i></font></p>
<ul>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Enabled</b>:
<I>boolean</I> Status of the MouseHook.</font></li>
<LI><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><B>HookLibLoaded</B>: <I>boolean</I> Indication if Hook DLL Loaded successfully.</FONT>
<LI><FONT face="Verdana, Arial, Helvetica, sans-serif"
size=2><B>LicenceCode</B>: <I>string</I> Licence Code string for removal of trial message.</FONT></LI>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>WindowHandle:</strong> <I>hwnd</I> Handle used by Component to receive Messages.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>UserHookMsg:</strong>
<I>dword</I> Custom WM_USER Message for communication with the DLL.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>DisableMouse:</strong> <I>boolean</I> Disables all Mouse input from within Windows.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>HidePointer:</strong> <I>boolean</I> Disables or Hides the mouse cursor.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>InvertPointer:</strong> <I>boolean</I> Inverts or Mirrors the mouse cursor movement.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>WrapPointer:</strong> <I>boolean</I> Wraps the mouse cursor at the screen borders.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>BlockLeftButton:</strong> <I>boolean</I> Disables the Left Mouse Button.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>BlockRightButton:</strong> <I>boolean</I> Disables Right Mouse Button.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>BlockMiddleButton:</strong> <I>boolean</I> Disables the Middle Mouse Button.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>BlockWheel:</strong> <I>boolean</I> Disables the Mouse Scroll Wheel.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>SwapButtons:</strong> <I>boolean</I> Swaps the Left and Right Buttons.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>ScreenMickeyX:</strong> <I>extended</I> value of the absolute X pointer screen coordinate.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>ScreenMickeyY:</strong> <I>extended</I> value of the absolute Y pointer screen coordinate.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Name:</b>
Name of Component.</font></li>
</ul>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Licence Keys and Component Source Code</b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> DLL Licence Keys (for trial notice removal) or Full Delphi Source code
is available to purchase below. <BR>
Purchasing entitles you to Free support and professional developer advice on using the components<BR>
within your projects. </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Developer support is provided via E-Mail and DLL component updates are free.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Unrestricted DLL & Licence Key <font color="#990000"><b>$19.00 US Dollars</b></font><br>
Unrestricted DLL & Licence Key <b><font color="#990000">€17.00 Euro<BR>
</font><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Purchase Online: <a href="https://secure.shareit.com/shareit/checkout.html?productid=213274&language=English"><b>Secure Order</b></a></font> </b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">DLL Source Code & Licence Key <font color="#990000"><b>$46.00 US Dollars</b></font><br>
DLL Source Code & Licence Key <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color="#990000">€</font></b></font><font color="#990000">39.00 Euro</font></b><font color="#990000"><BR>
</font><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Purchase Online: <a href="https://secure.shareit.com/shareit/checkout.html?productid=213275&language=English"><b>Secure Order</b></a></font></b></font></p>
<hr noshade size="1">
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font color="#999999">BITLOGIC Software Developers </font></b><font color="#999999">of Desktop Software and Security Applications, Utilities and Components.</font></font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -