预设Ctrl+B才能输入数据或打开某个界面,其它按键则没有反应(如: windows启动一样,ctrl+alt+del才可起作用,其它则没有反应)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
PKBDLLHOOKSTRUCT = ^KBDLLHOOKSTRUCT;
KBDLLHOOKSTRUCT = record
vkCode: DWORD;
ScanCode: DWORD;
Flags: DWORD;
Time: DWORD;
dwExtraInfo: DWORD;
end;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Hook: HHOOK;
implementation
{$R *.dfm}
function HookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
p: PKBDLLHOOKSTRUCT;
y: Integer;
begin
y:= 0;
if nCode = HC_ACTION then
begin
case WParam of
WM_KEYDOWN, WM_SYSKEYDOWN:
begin
p:= PKBDLLHOOKSTRUCT(Lparam);
if (GetKeyState(162) <0) and (p^.vkCode=66) then
begin
y:=1;
winexec(pchar('notepad.exe'),sw_show);
end;
end;
WM_KEYUP, WM_SYSKEYUP:
begin
p:= PKBDLLHOOKSTRUCT(Lparam);
if (GetKeyState(162) <0) and (p^.vkCode=66) then
begin
y:=1;
end;
end;
end;
end;
if y = 1 then Result:= 1 else Result:= CallNextHookEx(hook,nCode,WParam,LParam);
end;
function SetHook: Boolean; stdcall;
begin
if hook <> 0 then
begin
Result:= False;
Exit;
end;
hook:= SetWindowsHookEx(13, @HookProc, HINSTANCE, 0);
Result:= hook <> 0;
end;
function DelHook: Boolean; stdcall;
begin
if hook <> 0 then
begin
UnhookWindowshookEx(hook);
hook:= 0;
end;
Result:= hook = 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetHook;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DelHook;
end;
end.
引言 HR )#~ 5A 在科研生产中对研制、调试操作的记录是非常有必要而且是有很重要价值的。...这里将以键盘信息记录为例来讲述类似的实验信息自动记录的一般实现方法。 @w: Jw13@| 由于需要记录当前系统下所有
WINDOWS的钩子函数可以认为是WINDOWS的主要特性之一。利用它们,您可以捕捉您自己进程或其它进程发生的事件。通过“钩挂”,您可以给WINDOWS一个处理或过滤事件的回调函数,该函数也叫做“钩子函数”,当每次发生您...
回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址(函数指针)作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这...
C++键盘钩子 Windows系统是建立在事件驱动的机制上的,整个系统都是通过消息传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的...
钩子原理及实例:利用鼠标键盘钩子截获密码 钩子原理 钩子能截获系统并得理发送给其它应用程序的消息,能完成一般程序无法完成的功能。Windows系统是建立在事件驱动的机制上的,也就是整个系统都是通过...
钩子函数(HOOK)完整的教程 基本概念 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口...
钩子类型 每一种类型的Hook可以使应用程序能够监视不同类型的系统消息处理机制。下面描述所有可以利用的Hook类型。 1、WH_CALLWNDPROC和WH_CALLWNDPROCRET Hooks WH_CALLWNDPROC和WH_CALLWNDPROCRETHooks使...
回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻: 你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要...
通过SetWindowsHookEx方法安装钩子,该函数指定处理拦截消息的钩子函数(回调函数),可在钩子函数中自定义消息的处理,可修改消息或屏蔽消息。钩子函数的格式是固定为: LRESULT CALLBACK CallBackProc( Int ...
而钩子是 Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,...
函数功能:该函数将一个应用程序定义的挂钩处理过程安装到挂钩链中去,您可以通过安装挂钩处理过程来对系统的某些类型事件进行监控,这些事件与某个特定的线程或系统中的所有事件相关. 函数原形:HHOOK ...
因为工作中用到了钩子函数,刚开始认为跟回调函数一样...每当特定的消息发出,在没到达目的窗口前,钩子函数先捕获消息,即钩子函数先得到控制权。 二.钩子消息分类 1.WH_CALLWNDPROC和WH_CALLWNDPROCRET: 使你可以监视
本随笔较长,读者可直接到最地下下载示例程序。 总所周知:C#是.NET Framework平台的相伴语言,用它本身的类库和编译器提供...钩子函数存在于user32.dll中,函数原型如下: HHOOK WINAPI SetWindowsHookEx( __in ...
2、键盘传递过去,按一次变成了按两次。 昨天看了一天,解决了,解决原因是:重新编译+重启了电脑。 心态崩了 为啥心态崩了呢,因为重新编译+重启了电脑,我试了很多次,但是只有昨天成功了。之后也都一直成功...
在程序中捕捉用户的按键行为很...这就要使用键盘钩子了。 关于键盘钩子,下面这个网友描述的很详尽,我就不班门弄斧了,转载过来以备不时之需。原文:http://www.cnblogs.com/hocylan/archive/2008/01/14/1038390.html
钩子 的种类很多其作用也不同,如键盘钩子可以截获键盘消息,鼠标钩子可以截获鼠标消息,外壳钩子可以 截获启动和关闭应用程序的消息,日志钩子可以监视和记录输入事件。钩子分为线程专用钩子和全...
钩子(HOOK)函数教程(一) 我们可以首先从字面上了解钩子,钩子是干什么的呢?日常生活中,我们的钩子是用来钩住某种东西的,比如,说,鱼钩是用来钓鱼的,一旦鱼咬了钩,钩子就一直钩住鱼了,任凭鱼在水里怎么游...
钩子回调的参数分析4.代码 1.情况说明 首先平台是windows平台 目的:监控鼠标的点击事件、鼠标的位置、键盘的点击事件 背景:在做一个远程控制的软件,所有要监控记录本地的键鼠消息,到时候是要发送给其它主机的。...
引言 在科研生产中对研制、调试操作的记录是非常有必要而且是有很重要价值的。通过对记录信息的分析,可以在事故发生后准确... 由于需要记录当前系统下所有应用程序的键盘录入记录,因此必须采取某种特殊的技术来...
原文:http://www.cnblogs.com/Torres_fans/archive/2010/01/04/1638743.html回调函数:Callback Function什么是回调函数?首先做一个形象的比喻: 你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做...
WH_SHELL 函数原形: ...挂钩处理过程是应用程序或库中定义的回调函数,它与函数 SetWindowsHookEx搭配使用.此函数从系统接受外壳(shell)通知.类型HOOKPROC定义了指向此类回调函数的指针.ShellProc时应用程序
无论你通过哪种方式连接Hive(如Hive Cli、HiveServer2),一个HQL语句都要经过Driver的解析和执行,主要涉及HQL解析、编译、优化器处理、执行器执行四个方面。以Hive目前原生支持计算引擎MapReduce为例,具体处理流程...
此文档有详细奥特曼大全及关系明细
抢茅台的方法,里面有脚本文件和python的安装包,小白可以学习使用,大佬绕行吧,哈哈
2020年2月份美赛发布的题目ADE,是原始文件,包含有原题目给的数据等。 pdf格式全英,需要的朋友们直接下载就可以啦,里面的东西没有动过,需要翻译可以看我的博客/
软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,该课程使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌
例子主要包括SocketAsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,用于测试SocketAsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度达到250MB/S(使用的是127.0.0.1的方式,相当于千兆网卡1Gb=125MB/S两倍的吞吐量)。服务端用C#编写,并使用log4net作为日志模块; 同时支持65536个连接,网络吞吐量可以达到400M。
本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程
FFMpeg是当今为的面向音视频开发的开源工程,广泛应用于多种音视频的客户端、播放器和流媒体服务器中。使用FFMpeg提供的工具和SDK,可以完
jdk1.8 64位官方正式版 jdk-8u91-windows