📄 keymaphook.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">TCPKeyMapHook</font></b><font face="Verdana, Arial, Helvetica, sans-serif"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="4">®</font></b><BR>
<font size="2">NT System Keyboard Mapping 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.1<br>
<font face="Verdana, Arial, Helvetica, sans-serif"><b>Release Date </b>: 29/01/2005<br>
</font></font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b> Delphi Versions: </b>4/5/6/7<b><br>
</b></font><font size="2"><b>Developer</b>: BITLOGIC Software Solutions <br>
<b>Copyright</b>: BITLOGIC © 2004<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/keymaphook.zip">keymaphook.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"><b>Purchase Online:</b> <a href="https://secure.shareit.com/shareit/checkout.html?productid=215817&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=215818&language=English">DLL Source Code & Licence Keys</a></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">TCPKeyMapHook is a Low Level Keyboard Hook which can be used as a Component or Directly as a DLL from<br>
within your Delphi Projects. TCPKeyMapHook hooks into the keyboard driver and allows any key system key<BR>
combination to be re-mapped to another key. The hook can also Block or Disable any or all keys from being processed.<BR>
The Hook encapsulates the procedures
and
functions
within a separate DLL for Global Hooking of all threads and uses<BR>
a Memory Mapped File (MMF) to send data to/from the calling application.</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
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 operation
with one Event passing Key map and returning key state information.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">True Global,
System Wide Keyboard Hook on all running threads.</font></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Re-Map the Keyboard and assign individual keys to any other custom key.</FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Re-Map System Key combinations to any other custom key.</FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Supports Browser Keys for assigning keys to Web Browser operations.</FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Supports Multimedia</FONT><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif"> Keys for assigning keys to Media Player operations. </FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Disable the Keyboard and Block individual keys from being processed by windows.</FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Disable System Key combinations e.g ALT+TAB, CTRL+ESC etc..</FONT></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Event Returns
converted ASCII characters for installed keyboard.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Event Returns
Extended Key names, Cursors, Function Keys etc..</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Event Returns
the Repeatcount of any Keys pressed.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Indication if
Key was generated by a System Selection Menu.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Indication if
Key was generated by a KeyDown or KeyUp.</font></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Record all keyboard events before being passed to Windows. </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
TCPKeyMapHook within your project to re-map the keyboard, Create custom assigned<BR>
key maps for custom operations, disable the keyboard or any individual key or to
record
the
events and<BR>
key codes sent direct from the Keyboard driver.</font></p>
<p><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif"><B>To re-map an individual key:<BR>
</B>Locate the key by its VK_ code through the TCPKeyMapHook.KeyMap property.<BR>
Assign the value of any other VK_ code to this property.</FONT></p>
<p><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif"><B>To reset an individual key:<BR>
</B></FONT><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Locate the key by its VK_ code through the TCPKeyMapHook.KeyMap property.<BR>
Assign the value of it's own VK_ code to this property or call the procedure<BR>
TCPKeyMapHook.ResetKeyMap.</FONT></p>
<p><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif"><B>To disable an individual key:<BR>
</B></FONT><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Locate the key by its VK_ code through the TCPKeyMapHook.KeyMap property.<BR>
Assign the value of 0 to this property.</FONT></p>
<p><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif"><B>To enable an individual key:<BR>
</B></FONT><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Locate the key by its VK_ code through the TCPKeyMapHook.KeyMap property.<BR>
Assign the value of it's own VK_ code to this property or call the procedure<BR>
TCPKeyMapHook.ResetKeyMap.</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:
KeyMapHook.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 functions.</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">CPKeyMapHookReg.pas</font> as a new
component into an existing<BR>
or new
Package. TCPKeyMapHook can also be created dynamicly by using the CPKeyMapHook.pas
within your projects.<br>
Always place the <font color="#000099">KeyMapHook.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 OnKey
Event.</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 your Licence Code for non-trial operation.</FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Optionally set DisableKeyboard option. </FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Optionally set KeyMap VK code to another VK code to re-map a key.</FONT></li>
<li><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif">Optionally set KeyMap VK code to 0 to disable a key.</FONT></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Invoke the Function
Start_KeyHook. </font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Process the
OnKey Events.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Invoke the Function
Stop_KeyHook 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_KeyHook
</b> Function:Boolean Starts the KeyHook.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Stop_KeyHook
</b> Function:Boolean Stops the KeyHook.</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>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>ResetKeyMap</b> Procedure: Resets the KeyMap Keys to default. </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>OnKey</b>
Hook Notification Event of KeyUp and KeyDown Messages.<br>
TKeyStates = State of the current Keys pressed.<br>
TKeyNames = Ascii Character and VirtualKey Name for current Key pressed.<BR>
Blocked = Boolean value indicting if Key was Blocked or Re-mapped.</font></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>:
Status of the KeyHook.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>HookLibLoaded</b>: Indication if Hook DLL Loaded successfully.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>LicenceCode</b>: Licence Code string for removal of trial message.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>WindowHandle:</strong>
Handle used by Component to receive Messages.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>UserHookMsg:</strong>
Custom WM_USER Message for communication with the DLL.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>DisableKeyboard:</strong> Disables all Keyboard input from within Windows.</font></li>
<li><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>KeyMap:</strong> Disable any combination of Keys from within Windows.</font></li>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>keyboardLayout:</b>
Currently installed Keyboard Code.</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=215817&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<BR>
</font>Purchase Online:</b> <a href="https://secure.shareit.com/shareit/checkout.html?productid=215818&language=English"><b>Secure Order</b></a></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 + -