当前位置:首页 > 代码 > 正文

关于delphi键盘钩子源代码的信息

admin 发布:2022-12-19 14:30 105


今天给各位分享delphi键盘钩子源代码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

delphi 键盘全局钩子

WH_KEYBOARD 对于全局的效果不好用, 换用 WH_KEYBOARD_LL 钩子吧。

示例代码:

//全局键盘钩子消息处理函数

function KeyHookProc(nCode:Integer; wP:WPARAM; lP:LPARAM):LRESULT; stdcall;

var

pEvt: TEventMsg;

vKey: Cardinal;

begin

if (nCode = HC_ACTION) then begin

vKey := 0;

case wP of

WM_SYSKEYDOWN, WM_KEYDOWN:

begin

pEvt := PEventMsg(LP)^;

vKey := LOBYTE(pEvt.message);

case vKey of

......

end;

end;

end;

WM_SYSKEYUP, WM_KEYUP:;

end;

end;

result := CallNextHookEx(hKeyHook, nCode, wP, lP);

end;

安装钩子:

hKeyHook := SetWindowsHookEx(WH_KEYBOARD_LL, @KeyHookProc, hInstance, 0);

关于delphi键盘钩子问题, 键值lparam以及HHOOK 大概是什么东西啊!不是很懂

CallNextHookEx(

hhk: HHOOK; {当前钩子的句柄}

nCode: Integer; {钩子代码; 就是给下一个钩子要交待的}

wParam: WPARAM; {要传递的参数; 由钩子类型决定是什么参数}

lParam: LPARAM {要传递的参数; 由钩子类型决定是什么参数}

): LRESULT; {会返回下一个钩子执行后的返回值; 0 表示失败}

//HHOOK 是SetWindowsHookEx()的返回值

//wParam,lParam是由

HHOOK SetWindowsHookEx( int idHook,

HOOKPROC lpfn,

HINSTANCE hMod,

DWORD dwThreadId

);

idHook 的类型决定的。

具体情况,可以参考帮助文档。

DELPHI 键盘钩子问题~

function KeyBoardHook(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LResult; stdcall;

begin

if wParam = VK_CONTROL then

ShowMessage('Hooking');

Result := CallNextHookEx(gHook, nCode, wParam, lParam);

end;

我想用delphi做个键盘改键,键盘钩子,怎么做????

用delphi的人有一个通病,遇到问题之后总是问“delphi 怎么实现*******”。

学好计算机基础才是最重要的,这么问问题很牙疼。。。。

键盘记录程序很容易被杀毒软件发现,实用性不强,特别是用“钩子”,这就是个愚蠢的行为。

最好的办法是直接 读键盘缓缓存区,就是“8042”芯片。

你按下键盘上的键后,你的键盘会把消息发送给8042芯片,等待CPU来取走,在还没有被取走之前,先读一下0x60端口,就达到了键盘记录的功能。

这种操作完全脱离了操作系统,所以相对要安全很多。

具体实现起来也很简单,你可以使用winio的getportval函数来实现。

但是这个软件最核心的不是 能不能记录到按键,而是分析、整理 按键。

要不你记得下来的全是字母,谁也看不懂。

DElphi 键盘钩子程序设置开机启动在360提示有程序在改动注册表开机启动时 卡死

开机启动不要写注册表,直接将程序放在“开始”--“所有程序”--“启动”目录下面即可。

 CSIDL_STARTUP  这个代表启动文件夹

具体获取如下:

  use

    ShlObj;

  

  function GetStartupPath: String;  

  var

    PidL: PItemIDList;  

    FavPath: Array[0..MAX_PATH] of Char;

  begin

    SHGetSpecialFolderLocation(Application.Handle, CSIDL_STARTUP, PidL);

    SHGetPathFromIDList(PidL, FavPath);

    Result:= String(FavPath); 

  end;

关于delphi键盘钩子源代码和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/9444.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载