为什么日记钩子在98中有效,跑XP中一点反应都没有? 我安装了一个WH_JOURNALRECORD钩子,在Win98中运行正常,跑XP中就一点反应都没了,这是怎么回样?我在XP中要怎么才能使钩子有效? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 再检查检查你的代码,有没有问题,微软好像没有说这个东西有平台区分,也建议到microsoft 主页上去找找,有没有关于这个函数的bug给出来。 我查了一下msdn~JournalRecordProc不区分平台阿~ 程序是在98里写的,今天装了XP后想运行程序发现JournalRecordProc根本就没有反应,在98中JournalRecordProc函数会调用,到XP下连函数都不调用。呵呵。程序如下://///////////////////////////////////////////////////////////////////////////// KeyHook.h#ifndef KEYHOOK_H #define KEYHOOK_H #define WM_QKEYCHAR WM_USER + 1static HWND HookWnd;static HHOOK hHook;bool InstallKeyHook (HWND hwnd);bool UnInstallKeyHook ();LRESULT CALLBACK JournalKeyProc (int nCode, WORD wParam, DWORD lParam);#endif/////////////////////////////////////////////////////////////////////////////// KeyHook.cpp#include "stdafx.h"#include "KeyHook.h"bool InstallKeyHook (HWND hwnd){ HookWnd = hwnd; //hHook = (HHOOK) SetWindowsHookEx (WH_KEYBOARD, // (HOOKPROC) KeyboardHook, 0, 0); hHook = (HHOOK) SetWindowsHookEx (WH_JOURNALRECORD, (HOOKPROC) JournalKeyProc, 0, 0); if (hHook) return true; else return false;}bool UnInstallKeyHook (){ if (hHook) { UnhookWindowsHookEx(hHook); return true; } return true;}LRESULT CALLBACK JournalKeyProc (int nCode, WORD wParam, DWORD lParam){ char cs[100]; EVENTMSG *pMsg=(EVENTMSG *)lParam; if (pMsg->message == WM_KEYDOWN) { sprintf (cs, "%d\n", pMsg->paramL); TRACE (cs); } return (int) CallNextHookEx(hHook, nCode, wParam, lParam);} vc对话框mfc程序里ctreectrl控件,点击不同结点元素时,树的右边显示不同的图片 拖动滚动条画图错误 OnDraw函数 谁能帮我下载这个文件,谢谢了。我无法登陆codeproject.com 对话框制做中插入图片的控制问题 关于监控邮件服务的问题。 如何调试多线程的程序? 使用vfm,如何设置捕捉视频的亮度、饱和度等信息? 這是什么意思:CLabel& CLabel::SetTextColor(COLORREF crText)? 关于NTSERVICE的问题 仍旧是消息的问题。 1394驱动
JournalRecordProc
不区分平台阿~
呵呵。程序如下://///////////////////////////////////////////////////////////////////////////
// KeyHook.h#ifndef KEYHOOK_H
#define KEYHOOK_H
#define WM_QKEYCHAR WM_USER + 1static HWND HookWnd;
static HHOOK hHook;bool InstallKeyHook (HWND hwnd);
bool UnInstallKeyHook ();
LRESULT CALLBACK JournalKeyProc (int nCode, WORD wParam, DWORD lParam);#endif/////////////////////////////////////////////////////////////////////////////
// KeyHook.cpp#include "stdafx.h"
#include "KeyHook.h"bool InstallKeyHook (HWND hwnd)
{
HookWnd = hwnd;
//hHook = (HHOOK) SetWindowsHookEx (WH_KEYBOARD,
// (HOOKPROC) KeyboardHook, 0, 0);
hHook = (HHOOK) SetWindowsHookEx (WH_JOURNALRECORD,
(HOOKPROC) JournalKeyProc, 0, 0); if (hHook)
return true;
else
return false;
}bool UnInstallKeyHook ()
{
if (hHook)
{
UnhookWindowsHookEx(hHook);
return true;
} return true;
}LRESULT CALLBACK JournalKeyProc (int nCode, WORD wParam, DWORD lParam)
{
char cs[100];
EVENTMSG *pMsg=(EVENTMSG *)lParam;
if (pMsg->message == WM_KEYDOWN)
{
sprintf (cs, "%d\n", pMsg->paramL);
TRACE (cs);
}
return (int) CallNextHookEx(hHook, nCode, wParam, lParam);
}