关于键盘钩子问题?? 被杀毒软件判为病毒删除? 如何能使自己的钩子不被杀毒软件判为病毒而被删除?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用什么方法加载钩子的?如果只是用SetWindowsHookEx应该不会,可能你的方法和某种病毒有相同的特征码。 很简单的..#include <windows.h>#include <windowsx.h>#include <tchar.h>HINSTANCE g_hinstDll = NULL;#pragma data_seg(".drectve")static char szLinkDirectiveShared[] = "-section:Shared,rws";#pragma data_seg()#pragma data_seg("Shared")HHOOK g_hhook = NULL;HWND g_hwndPost = NULL;UINT g_uMsgNotify = WM_USER;#pragma data_seg()static LRESULT WINAPI KeyboardHook_HookProc ( int nCode, WPARAM wParam, LPARAM lParam) { LRESULT lResult = CallNextHookEx(g_hhook, nCode, wParam, lParam); if (nCode == HC_ACTION) { PostMessage(g_hwndPost, g_uMsgNotify, wParam, lParam); } return(lResult);}BOOL WINAPI SetKeyboardHook (HWND hWndPost, UINT Msg) { HHOOK hhook; if (g_hhook != NULL) return(FALSE); g_hwndPost = hWndPost; g_uMsgNotify = Msg; Sleep(0); hhook = SetWindowsHookEx(WH_KEYBOARD, KeyboardHook_HookProc, g_hinstDll, 0); InterlockedExchange((PLONG) &g_hhook, (LONG) hhook); return(g_hhook != NULL);}BOOL WINAPI ReleaseKeyboardHook() { BOOL fOK = TRUE; if (g_hhook != NULL) { fOK = UnhookWindowsHookEx(g_hhook); g_hhook = NULL; } return(fOK);}BOOL WINAPI DllMain (HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved) { switch (fdwReason) { case DLL_PROCESS_ATTACH: g_hinstDll = hinstDll; break; } return(TRUE);} 我已跪下...怎么让编辑框显示最底部的文字!!! 右键菜单问题:CreatePopupMenu/TrackPopupMenu 创建Socket 失败,请高手指点! 这条语句是什么意思?谢谢! CAsyncSocket::OnConnect的问题 用什么函数分离字符串? ActiveX控件如何注册 MFC OPENGL 绕任意轴旋转 RUNTIMECLASS 是何东东??? VC的APPWIZARD是否以牺牲可读性和易维护性以加速编程速度? 非模态对话框 显示 请问这里有高人用过Measurement Studio 6.0,有问题请教
#include <windows.h>
#include <windowsx.h>
#include <tchar.h>HINSTANCE g_hinstDll = NULL;#pragma data_seg(".drectve")
static char szLinkDirectiveShared[] = "-section:Shared,rws";
#pragma data_seg()
#pragma data_seg("Shared")HHOOK g_hhook = NULL;
HWND g_hwndPost = NULL;
UINT g_uMsgNotify = WM_USER;#pragma data_seg()static LRESULT WINAPI KeyboardHook_HookProc (
int nCode,
WPARAM wParam,
LPARAM lParam)
{ LRESULT lResult = CallNextHookEx(g_hhook, nCode, wParam, lParam); if (nCode == HC_ACTION)
{
PostMessage(g_hwndPost, g_uMsgNotify, wParam, lParam);
}
return(lResult);
}BOOL WINAPI SetKeyboardHook (HWND hWndPost, UINT Msg)
{
HHOOK hhook; if (g_hhook != NULL) return(FALSE); g_hwndPost = hWndPost;
g_uMsgNotify = Msg;
Sleep(0); hhook = SetWindowsHookEx(WH_KEYBOARD, KeyboardHook_HookProc, g_hinstDll, 0);
InterlockedExchange((PLONG) &g_hhook, (LONG) hhook);
return(g_hhook != NULL);
}BOOL WINAPI ReleaseKeyboardHook()
{
BOOL fOK = TRUE; if (g_hhook != NULL)
{
fOK = UnhookWindowsHookEx(g_hhook);
g_hhook = NULL;
}
return(fOK);
}BOOL WINAPI DllMain (HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
g_hinstDll = hinstDll;
break;
}
return(TRUE);
}