vc.net2003中如何安装WH_JOURNALRECORD全局钩子?

bbhl80 2004-08-26 10:40:52
我有一个会话框,在按钮处理程序中有如下代码(不用DLL):
//安装日志钩子
g_hLogHook=::SetWindowsHookEx(WH_JOURNALRECORD,(HOOKPROC)JournalRecordProc,::GetModuleHandle(NULL),0);
if(g_hLogHook==NULL)
{
CloseHandle(g_hCapFile);
g_hCapFile=NULL;
return -1;
}
g_bLogging=TRUE; //连续两次将此全局变量设为TRUE

while(g_bLogging)
{
while(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
{
//先查看消息队列,以免阻塞
GetMessage(&msg,NULL,0,0); //PeekMessage、GetMessage、DispatchMessage三个函数的联合使用应该是处理Windows下消息的常用技巧。

if(msg.message==WM_CANCELJOURNAL)
{
//如果消息是取消日志钩子,则重设
SetKeyboardState(keytbl);
g_hLogHook=SetWindowsHookEx(WH_JOURNALRECORD,(HOOKPROC)JournalRecordProc,::GetModuleHandle(NULL),0);
if(g_hLogHook==NULL)
{
CloseHandle(g_hCapFile);
g_hCapFile=NULL;
return -1;
}

}
else
{
DispatchMessage(&msg);
}

}
运行时报错,地址冲突,请问各位大虾有和解决之道
...全文
49 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wxaxiao 2004-09-23
UP
  • 打赏
  • 举报
回复
发帖
VC.NET
加入

7541

社区成员

.NET技术 VC.NET
社区管理员
  • VC.NET社区
申请成为版主
帖子事件
创建了帖子
2004-08-26 10:40
社区公告
暂无公告