C++ 使用钩子更改消息

C++ 使用钩子更改消息,c++,hook,setwindowshookex,C++,Hook,Setwindowshookex,我想学习一些关于如何使用钩子的知识,所以我试图制作一个程序,将“a”的输入更改为“B”, 我正在尝试使用WH_键盘挂钩,根据msdn: WParam是生成击键消息的键的虚拟键代码,因此我尝试更改它并使用callNextHook LRESULT CALLBACK KeyboardProc( _In_ int code, _In_ WPARAM wParam, _In_ LPARAM lParam ) { if (wParam == 65) wParam++; CallNextH

我想学习一些关于如何使用钩子的知识,所以我试图制作一个程序,将“a”的输入更改为“B”, 我正在尝试使用WH_键盘挂钩,根据msdn: WParam是生成击键消息的键的虚拟键代码,因此我尝试更改它并使用callNextHook

LRESULT CALLBACK KeyboardProc(
  _In_  int code,
  _In_  WPARAM wParam,
  _In_  LPARAM lParam
)
{
if (wParam == 65)
wParam++;

CallNextHookEx(NULL, ncode, wParam, lParam);
}
我曾经尝试过做类似的事情,即使不使用wParam的更改也不会影响结果

我做错了什么?我怎样才能让它工作


谢谢

很抱歉,很明显,但是您是否检查了SetWindowsHookEx的返回值,以确保钩子实际安装正确?是的,我检查了,并且安装正确,我还尝试返回1以禁用所有键,它工作正常,当输入钩子时,wParam的值是多少?wParam正在根据我所做的改变而改变,但是输出仍然没有改变。还有其他方法吗?