各位大侠,高手大神们,小弟我在写一个反外挂程序时遇到了问题,请各位高手指教(外挂很可恨)
各位大侠,高手大神们,小弟我在写一个反外挂程序时遇到了问题,请各位高手指教(外挂很可恨).
有一个外挂就是模拟按键,设置好了按键后(只在F1~F10之间),就可以不断模拟按键。我想用一个内挂把它封掉。请问如何下手?
A程序(游戏程序),B为外挂程序,
C为反外挂程序.
我利用C做全局钩子无论是WH_KEYBOARD还是WH_CALLWNDPROC,或者WH_GETMESSAGE都无法,是不是我编程有误还是方法不对,请大侠写个提示代码,谢谢。
LRESULT CALLBACK CallGetMsgProc(int nCode,WPARAM wParam,LPARAM lParam)
{
MSG *pMsg;
pMsg=(MSG*)lParam;
if(pMsg->message == WM_KEYDOWN )
{
WORD wKey = (WORD)wParam;
if((wKey >= VK_F1)&&(wKey <= VK_F10))
{
GetLocalTime(&SysTime);
My_Shijian2.Format("%02d%02d%02d",SysTime.wHour,SysTime.wMinute,SysTime.wSecond);
// My_HaoMIao2 =SysTime.wMilliseconds;
if ( My_Shijian1 =="")
{
My_Shijian1 = My_Shijian2;
//My_HaoMIao1 = My_HaoMIao2;
My_CiShu = 0;
My_CiShu ++;
return CallNextHookEx (hGetMessge, nCode, wParam, lParam);
}
else if(My_Shijian1 == My_Shijian2)
{
if(My_CiShu > 1) return 1;
else
{
My_CiShu ++;
return CallNextHookEx(hGetMessge, nCode, wParam, lParam);
}
}
else if (My_Shijian1 != My_Shijian2)
{
My_Shijian1 = My_Shijian2;
//My_HaoMIao1 = My_HaoMIao2;
My_CiShu = 0;
My_CiShu ++;
return CallNextHookEx(hGetMessge, nCode, wParam, lParam);
}
}
}
return CallNextHookEx (hGetMessge, nCode, wParam, lParam);
}
控制按键连点时间