首页
社区
课程
招聘
[求助]HOOK的问题,大家帮忙看看
2013-7-29 11:19 3567

[求助]HOOK的问题,大家帮忙看看

2013-7-29 11:19
3567
// wndWatch.cpp : Defines the exported functions for the DLL application.
//

#include "stdafx.h"
#include "wndWatch.h"
#include <windows.h>

extern HHOOK hhook;
extern HMODULE module;
extern HWND ghwnd;

#define WW_CREATE WM_USER+100
#define WW_DESTORY WM_USER+101
static UINT WM_SHELLHOOKMESSAGE;


LRESULT  CALLBACK HookProc(int code,WPARAM wparam,LPARAM lparam)
{
	switch (code)
	{
		case HSHELL_WINDOWCREATED:
			PostMessageA(ghwnd,WW_CREATE,wparam,lparam);
			break;
		case HSHELL_WINDOWDESTROYED:
			PostMessageA(ghwnd,WW_DESTORY,wparam,lparam);
			break;
	}
	return CallNextHookEx(hhook,code,wparam,lparam);
}

BOOL WINAPI Start(HWND hwnd) 
{
	ghwnd =	hwnd;
	hhook=::SetWindowsHookEx(WH_SHELL,HookProc,module,0);
	return  (hhook!=NULL);
}

void WINAPI Stop()
{
	::UnhookWindowsHookEx (hhook);
}


#ifndef DYNAMIC
#define DYNAMIC
extern "C" __declspec(dllexport) BOOL WINAPI Start(HWND);
extern "C" __declspec(dllexport) void WINAPI Stop();
#endif

大家帮忙看看,为什么只能捕获到HSHELL_REDRAW消息,是什么原因哦

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (1)
雪    币: 9
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
chaobaji 2013-7-29 13:38
2
0
最终使用RegisterShellWindow()给解决了,不知道上述代码有何问题,暂不结贴,知道的仁兄指点下
游客
登录 | 注册 方可回帖
返回