需要一个exe去加载dll
///exe//
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
HHOOK m_hHook = 0;
int _tmain()
{
if (LoadLibraryA("HOOK_3.dll"))
{
printf("LoadLibraryA我的hook_dll成功");
}
getchar();
UnhookWindowsHookEx(m_hHook);
}
//dll
// 设置全局钩子
void SetHook()
{
m_hHook = 0;
m_hHook = SetWindowsHookEx(WH_KEYBOARD, HookProc, LoadLibraryA("HOOK_3.dll"), NULL);
if (NULL == m_hHook)
{
//MessageBox(NULL, "挂钩子失败", "111", NULL);
printf("挂钩子失败 \r\n");
}else {
//MessageBox(NULL, "挂钩子成功", "111", N/ULL);
printf("挂钩子成功 \r\n");
}
}
LRESULT WINAPI HookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (wParam == 13 )
{
printf("截获到回车键 \r\n");
return TRUE;
}
if (wParam == 108)
{
printf("截获到回车键 \r\n");
return TRUE;
}
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
// 在dllmain或有界面的button里调用 SetHook
// 在exe的main调用 UnhookWindowsHookEx(m_hHook);