截获窗口消息的类(强烈推荐)

来源:互联网 发布:windows更改用户目录 编辑:程序博客网 时间:2024/05/15 19:02

编程高手编程时常用的类,很好用,强烈推荐!

Subclass的下载地址:
1:
MSDN上有这个例子可以下载,但是用.Net写的,不管怎样,我们只需把目录下的Subclass.h和Subclass.cpp复制到VC6工程里面即可
http://msdn.microsoft.com/msdnmag/code/Default.aspx?level=root%2cTypematic&file=Subclass.cpp&url=http%3a%2f%2fmsdn.microsoft.com%2fmsdnmag%2fissues%2f05%2f01%2fCQA%2fdefault.aspx

2:
http://cid-3ba16e78a53d2d3d.skydrive.live.com/browse.aspx/ShareData


CSubclassWnd里的三个主要函数:
// Subclass a window. Hook(NULL) to unhook (automatic on WM_NCDESTROY)
BOOL HookWindow(HWND hwnd);
BOOL HookWindow(CWnd* pWnd) { return HookWindow(pWnd->GetSafeHwnd()); }
BOOL IsHooked()   { return m_hWnd!=NULL; }

首先要把这Subclass.h和Subclass.cpp添加到你的工程里面

//编程如下:

第一步:继承CSubclassWnd
#include "Subclass.h";

//继承CSubclassWnd,并重写 WindowProc(UINT msg, WPARAM wp, LPARAM lp) 函数
class CWindowHook : public CSubclassWnd
{
private:
virtual LRESULT WindowProc(UINT msg, WPARAM wp, LPARAM lp);
};

//被Hook窗口的消息会先发到这个消息过程,在这里面对感兴趣的消息进程处理
LRESULT CWindowHook::WindowProc(UINT msg, WPARAM wp, LPARAM lp)
{
if (msg==WM_RBUTTONDOWN)
{
   ::MessageBox(NULL,"已经hook此窗口",_TEXT("提示"),MB_OK);
   msg=WM_NULL; //当不想把消息往下传递时,将消息置零
}
return CSubclassWnd::WindowProc(msg, wp, lp);
}

第二步:创建一个对象
CWindowHook test; //创建一个对象

第三步:截获窗口消息
test.HookWindow(m_hWnd); //开始捕获此窗口的消息

第四步:停止截获消息
test.HookWindow((HWND)NULL); //参数为NULL时停止拦截消息

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 挨打了屁股肿的又大又硬怎么办 李贞将军有关电影小腿肌腱疼怎么办 朋友老婆老是背地里说我坏话怎么办 当你听到别人在背后说你时怎么办 分手了和前任是同事需要见面怎么办 和附近的人聊天他约你见面怎么办 微信约妹子发完红包拉黑了怎么办 户口本被前妻扣着不能结婚怎么办 部队当兵户口没注销退伍回去怎么办 没打疫苗的狗狗咬了我的嘴巴怎么办 新车被撞了还没上牌怎么办? 签了合同上两天班想辞职怎么办 刚到公司上班两天想辞职怎么办 签入职合同一天后就不想干了怎么办 入职材料交了第二天就想离职怎么办 宝宝40周多了还不想出来怎么办 工厂上班不到三个月不给辞工怎么办 单位辞职后不上班了保险怎么办 药流6个小时没流下来怎么办 小孩有口臭怎么办这几天不想吃饭 七个月宝宝口臭不想吃饭怎么办啊 老公工作累想要辞职不上班怎么办 药物流产后第6天咋下坠的怎么办 药流第一天胎囊没有掉下来怎么办 药流还有一点没流干净怎么办 3个月的宝宝被电了一下怎么办 宝宝吃奶粉过敏下巴红有疙瘩怎么办 小孩牙齿没掉又长出新牙怎么办 8个月婴儿地包天怎么办 欠别人很多钱 要告我怎么办 ps意外的遇到文件尾损坏了怎么办 长期作息不规律引起的头疼怎么办 退休年龄到了社保没满15年怎么办 要退休了单位把我工资表丢了怎么办 非工伤单位不支付病假工资怎么办 十个月宝宝咳嗽有痰怎么办崔玉涛 怀孕五个月胎儿脐带绕颈怎么办 6个月宝宝白天睡眠不好怎么办 22个月宝宝身高才79公分怎么办 宝宝十个月了还没长牙怎么办 腰椎间盘突出翻身都困难了怎么办