Hook的问题,高手请进 应该是监控Winodws系统的Paint,这些Hook好象不行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用WH_GETMESSAGE,监控Winodws系统的Paint消息,得到相应的窗口句柄。 lts: 能否详细一点 我目前了解的HOOK消息有如下一下:WH_CALLWNDPROCWH_CALLWNDPROCRETWH_CBTWH_DEBUGWH_FOREGROUNDIDLEWH_GETMESSAGEWH_JOURNALPLAYBACKWH_JOURNALRECORDWH_KEYBOARDWH_KEYBOARD_LLWH_MOUSEWH_MOUSE_LLWH_MSGFILTERWH_SHELLWH_SYSMSGFILTER对于你所提到的用哪一个合适,我认为基本的要有:WH_CALLWNDPROC、WH_MOUSE、WH_KEYBOARD、WH_KEYBOARD_LL、WH_MOUSE_LL以及WH_SHELL。至于结构你可以在本机建立:HHOOK SetWindowsHookEx( int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId);相信这样回答多少能给你一点帮助,如果还需要别的,请EMAIL:[email protected] 编写一个getmsg的dll,然后使用SetWindowsHookEx将该dll中的getmsg的例程挂接入系统所有的进程中,使用的方法:SetWindowsHookEx(WH_GETMESSAGE,your_prov,ModuleFromAddress(your_prov),0);关于HMODULE ModuleFromAddress(PVIOD pv){ MEMORY_BASIC_INFORMATION mbi; return((VirtualQuery(pv, &mbi, sizeof(mbi)) != 0) ? (HMODULE) mbi.AllocationBase : NULL);}0表明全局的注入。在你的getmsg中,你可以做拦截或者处理,LRESULT WINAPI GetMsg(int code, WPARAM wParam, LPARAM lParam) { ...//你的处理 return(CallNextHookEx(g_hhook, code, wParam, lParam));//发给原来的程序} 帮忙提供一个简单的保存思路 四个问题,欢迎来看看(广告之后,马上回来) 假如一个窗体类 tmyform,如何根据字符串数组建立多个类的实例 关于我的工作,给点意见` 寻求treeview嵌入checkbox选择框的第三方控件,急用 简单问题 通过internet更新数据库的记录和复制记录所对应的资源文件! WordApplication 的几个问题 delphi连接数据库要求输用户名密码 Delphi6 IDE 的BUG 很棘手的问题.急需解决.望关注 請問如何使DBGRID的表頭以下面形式顯示,或可在何處得到相關資料?
能否详细一点
WH_CALLWNDPROC
WH_CALLWNDPROCRET
WH_CBT
WH_DEBUG
WH_FOREGROUNDIDLE
WH_GETMESSAGE
WH_JOURNALPLAYBACK
WH_JOURNALRECORD
WH_KEYBOARD
WH_KEYBOARD_LL
WH_MOUSE
WH_MOUSE_LL
WH_MSGFILTER
WH_SHELL
WH_SYSMSGFILTER
对于你所提到的用哪一个合适,我认为基本的要有:WH_CALLWNDPROC、WH_MOUSE、WH_KEYBOARD、WH_KEYBOARD_LL、WH_MOUSE_LL以及WH_SHELL。至于结构你可以在本机建立:
HHOOK SetWindowsHookEx(
int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId
);
相信这样回答多少能给你一点帮助,如果还需要别的,请EMAIL:[email protected]
SetWindowsHookEx(WH_GETMESSAGE,your_prov,ModuleFromAddress(your_prov),0);
关于
HMODULE ModuleFromAddress(PVIOD pv)
{
MEMORY_BASIC_INFORMATION mbi;
return((VirtualQuery(pv, &mbi, sizeof(mbi)) != 0)
? (HMODULE) mbi.AllocationBase : NULL);
}
0表明全局的注入。在你的getmsg中,你可以做拦截或者处理,
LRESULT WINAPI GetMsg(int code, WPARAM wParam, LPARAM lParam)
{
...//你的处理
return(CallNextHookEx(g_hhook, code, wParam, lParam));//发给原来的程序
}