社区
C++ 语言
帖子详情
急!高分在线求,InitializeLpkHooks的定义以及调用示例,顶也加分
wkoji
2007-06-05 11:22:05
我想知道这个api到底是做什么用的,如何调用?
或者这里有没有人做过不写驱动,在应用层下用hook来截获非标准键盘的多媒体键?
已经确认hook_keyboard, hook_keyboard_ll都没有反应。
要多少分给多少,我还有几千
...全文
255
15
打赏
收藏
急!高分在线求,InitializeLpkHooks的定义以及调用示例,顶也加分
我想知道这个api到底是做什么用的,如何调用? 或者这里有没有人做过不写驱动,在应用层下用hook来截获非标准键盘的多媒体键? 已经确认hook_keyboard, hook_keyboard_ll都没有反应。 要多少分给多少,我还有几千
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jinkui2008
2007-06-20
打赏
举报
回复
mark
ReverseEngineering
2007-06-20
打赏
举报
回复
高难度,顶一下
wkoji
2007-06-06
打赏
举报
回复
ding
yuelinsoft
2007-06-05
打赏
举报
回复
//<<////////////////////////////////////////////
//函数名{SetKeyboardHook}
//设置键盘钩子程序
//@Return [BOOL]:是否成功
//@Param hwnd[HWND]:安装键盘钩子程序窗体的句柄
//@Create: 2002年05月18日
//@Modify: 2002年05月18日
//>>////////////////////////////////////////////
__declspec(dllexport) BOOL SetLLKeyboardHook(HWND hwnd)
{
if(NULL==hwnd)
return FALSE;
if(NULL!=g_hWnd)
return FALSE;
g_KeyHook=SetWindowsHookEx(WH_KEYBOARD_LL,LowLevelKeyboardProc,g_hInst,0);
if(NULL!=g_KeyHook)
{
g_hWnd=hwnd;
return TRUE;
}
return FALSE;
}
//钩子函数
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
BOOL fEatKeystroke = FALSE;
if (nCode == HC_ACTION)
{
switch (wParam)
{
case WM_KEYDOWN: case WM_SYSKEYDOWN:
case WM_KEYUP: case WM_SYSKEYUP:
fEatKeystroke = ExistsSpecifyExcludeKey(wParam,lParam);
break;
}
}
//如果存在屏蔽
return(fEatKeystroke ? 1 : CallNextHookEx(NULL, nCode, wParam,
lParam));
}
BOOL ExistsSpecifyExcludeKey(WPARAM wParam, LPARAM lParam)
{
BOOL bExists=FALSE;
PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam;
for(int i=0;i<g_nExcludeKey;i++)
{
if(g_pExcludeKey[i].nAtl )
{
//要屏蔽Alt键 键盘键不是Alt键 continue。
if( !(p->flags & LLKHF_ALTDOWN) )
continue;
}
else
{
if( (p->flags & LLKHF_ALTDOWN) )
continue;
}
//control
if(g_pExcludeKey[i].nCtrl )
{
//要屏蔽ctrl键 键盘键不是ctrlt键 continue。
if( !(GetKeyState(VK_CONTROL) & 0x8000) )
continue;
}
else
{
if( (GetKeyState(VK_CONTROL) & 0x8000) )
continue;
}
if(g_pExcludeKey[i].nKey ==p->vkCode)
{
bExists=TRUE;
}
}
return bExists;
}
yuelinsoft
2007-06-05
打赏
举报
回复
http://www.codeguru.com/system/MMKeyboardHook.html
或许有帮助
wolf0184
2007-06-05
打赏
举报
回复
顶!!!
theendname
2007-06-05
打赏
举报
回复
up
wkoji
2007-06-05
打赏
举报
回复
ding
星羽
2007-06-05
打赏
举报
回复
有人反汇编看看吗:)
zeuskaaba
2007-06-05
打赏
举报
回复
UP!
很好奇LZ是怎么发现这个的,很好奇~~
theendname
2007-06-05
打赏
举报
回复
mark
fallinleave
2007-06-05
打赏
举报
回复
确实是未公开的API:
VOID STDCALL InitializeLpkHooks(FARPROC *hookfuncs);
wkoji
2007-06-05
打赏
举报
回复
怎么这么多高手都没人知道???
InitializeLpkHooks是user32.dll里的一个未公开函数,查msdn都查不到的,查google就只查到四条记录,而且最多只得到一个函数定义。
我不知道这个函数到底在hook什么,也不知道它的参数是个函数指针,这个函数指针的定义和参数是什么???
liehen8475
2007-06-05
打赏
举报
回复
up,学习
wkoji
2007-06-05
打赏
举报
回复
已经确认hook_keyboard, hook_keyboard_ll都抓不到这个键盘击键消息。
我写驱动去截获硬件的键盘中断可以抓到,
但是我现在希望在应用层用hook实现,找到有一个例子,但没有源代码。
分析它的dll,确定是调用了hook,此外最有关联的调用就是InitializeLpkHooks和GetMessageExtraInfo。所以希望能多了解一点这两个函数的作用和调用方式
IDL学习——
调用
enviTask对
高分
2号影像进行预处理
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 注:该程序是在ENVI5.3+IDL8.5...本实例实现利用IDL
调用
ENVITask实现
高分
2号影像的预处理。
高分
2号的预处理流程是...
高分
三号卫星以及数据产品简介
高分
三号卫星以及数据产品简介
高分
三号卫星
高分
三号卫星简介
高分
三号卫星的波束扫描模式(对应于成像模式)合成孔径雷达的波束扫描模式
高分
三号的成像模式(细分12种)
高分
三号数据产品产品级别 参考链接: (1) ...
学编程c语言高考能
加分
吗,学好编程,中高考都能
加分
,还能保送清华北大!...
原标题:学好编程,中高考都能
加分
,还能保送清华北大!前段时间,我跟一位母亲聊起现在的中考、高考,她大是不以为然,为什么?这位母亲跟我诉苦,说她家老大上半年备战中考,每天都早起晚睡地复习,全家都跟着一起...
C#通过Aforge
调用
电脑摄像头(附代码)
C#标准库本身不带有能
调用
电脑摄像头的库,如果利用windows自身的API来实现的话,着实有些麻烦。Aforge这个第三方库能很好的实现
调用
、处理的功能。 PS:文末给大家分享了完整的项目源码,各位最好先下载下来,对照着...
stable diffusion API
调用
,超级详细代码
示例
和说明
本文主要介绍 stable diffusion API
调用
,准确来说是对 stable diffusion webui 的 API
调用
。接口文档可以查看: > http://sd-webui.test.cn/docs 这里的 `sd-webui.test.cn` 是自己的 sd webui Endpoint。 ...
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章