钩子程序错误
extern"C"LRESULTCALLBACKmouseproc(intcode,WPARAMwparam,LPARAMlparam);//钩子处理函数extern"C...
extern "C" LRESULT CALLBACK mouseproc(int code,WPARAM wparam,LPARAM lparam); //钩子处理函数
extern "C" bool WINAPI starthook(); //启动钩子函数
extern "C" bool WINAPI stophook(); //撤销钩子函数
extern "C" int WINAPI getresultl(); //取得鼠标左键单击次数的函数
extern "C" int WINAPI getresultr(); //取得鼠标右键单击次数的函数
下面是错误报告
c:\program files\microsoft visual studio\myprojects\spy\hook.h(1) : error C2146: syntax error : missing ';' before identifier 'CALLBACK'
c:\program files\microsoft visual studio\myprojects\spy\hook.h(1) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
spy.dll - 1 error(s), 0 warning(s)
我看不出来哪里出错,因为刚刚学习VC++,希望高手能来解答一下 展开
extern "C" bool WINAPI starthook(); //启动钩子函数
extern "C" bool WINAPI stophook(); //撤销钩子函数
extern "C" int WINAPI getresultl(); //取得鼠标左键单击次数的函数
extern "C" int WINAPI getresultr(); //取得鼠标右键单击次数的函数
下面是错误报告
c:\program files\microsoft visual studio\myprojects\spy\hook.h(1) : error C2146: syntax error : missing ';' before identifier 'CALLBACK'
c:\program files\microsoft visual studio\myprojects\spy\hook.h(1) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.
spy.dll - 1 error(s), 0 warning(s)
我看不出来哪里出错,因为刚刚学习VC++,希望高手能来解答一下 展开
4个回答
展开全部
我曾经做的是在线程内实现的,没做成DLL方式,实现如下:
定义一个CCHook类,有2个成员函数:
BOOL WINAPI InstallHook();
BOOL WINAPI DeleteHook();
BOOL WINAPI CCHook::InstallHook()
{
gHook=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,gInstance,GetCurrentThreadId());
if (gHook==NULL) return TRUE;
else return FALSE;
}
BOOL WINAPI CCHook::DeleteHook()
{
return UnhookWindowsHookEx(gHook);
}
定义全局函数:
LRESULT CALLBACK KeyboardProc(int code,WPARAM wparam,LPARAM lparam)
{
if (code<0)
{
return CallNextHookEx(gHook,code,wparam,lparam);
}
//处理代码
return CallNextHookEx(gHook,code,wparam,lparam);
}
定义一个CCHook类,有2个成员函数:
BOOL WINAPI InstallHook();
BOOL WINAPI DeleteHook();
BOOL WINAPI CCHook::InstallHook()
{
gHook=SetWindowsHookEx(WH_KEYBOARD,KeyboardProc,gInstance,GetCurrentThreadId());
if (gHook==NULL) return TRUE;
else return FALSE;
}
BOOL WINAPI CCHook::DeleteHook()
{
return UnhookWindowsHookEx(gHook);
}
定义全局函数:
LRESULT CALLBACK KeyboardProc(int code,WPARAM wparam,LPARAM lparam)
{
if (code<0)
{
return CallNextHookEx(gHook,code,wparam,lparam);
}
//处理代码
return CallNextHookEx(gHook,code,wparam,lparam);
}
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
#include "StdAfx.h"
第一行。。。
第一行。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#define DllExport extern "C" __declspec(dllexport)
然后直接在函数原型前加DllExport宏。
另外看看源程序中是否多写了'{'或'}'号。
然后直接在函数原型前加DllExport宏。
另外看看源程序中是否多写了'{'或'}'号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这可能是头文件包含问题,因为你把代码只贴了一半,我无法判断这是哪里问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询