关于钩子函数的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:01:07
本人刚学钩子,尝试着写一个简单的控制台的钩子程序,但是出现了错误,本人不知道该怎么改那个错误
程序是用来输出用户按键的,完整代码如下:
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>

void HookPro(WPARAM wParam,LPARAM lParam)
{
char szKey[80];
GetKeyNameText(lParam,szKey,80);
printf("%s",szKey);
}

int main()
{

::SetWindowsHookEx(WH_KEYBOARD,HookPro,NULL,GetCurrentProcessId());
return 0;
}
错误信息:
hook.c(17) : error C2143: syntax error : missing ';' before ':' 请高手解答一下,并给出改正方法,谢谢了

hook 的回调函数定义错了,改为

LRESULT WINAPI HookPro( int nCode, WPARAM wParam,LPARAM lParam)
{
char szKey[80];
GetKeyNameText(lParam,szKey,80);
printf("%s",szKey);
return 0;
}