19,502
社区成员
发帖
与我相关
我的任务
分享
#ifndef _CE_HOOK_H_
#define _CE_HOOK_H_
#define DLLCEHOOK_API __declspec(dllexport)
#define WM_HOOK_MOUSE WM_USER + 101
#define WM_HOOK_KEYDOWN WM_USER + 102
#define WM_HOOK_KEYUP WM_USER + 103
extern "C" DLLCEHOOK_API BOOL HookInit(HWND hwnd);
extern "C" DLLCEHOOK_API BOOL HookDeinit();
extern "C" DLLCEHOOK_API BOOL EnableKeyHook(BYTE vkCodes[], UINT vkNumber);
extern "C" DLLCEHOOK_API BOOL DisableKeyHook();
extern "C" DLLCEHOOK_API BOOL EnableMouseHook();
extern "C" DLLCEHOOK_API BOOL DisableMouseHook();
#endif // _CE_HOOK_H_
BYTE vkCodes[4] = {VK_APP1, VK_APP4, VK_APP5, VK_APP6};
BOOL returnValue = EnableKeyHook(vkCodes, 4);
afx_msg LRESULT OnHookKeyDown(WPARAM wParam, LPARAM lParam);
ON_MESSAGE(WM_HOOK_KEYDOWN, OnHookKeyDown)
LRESULT CCeHookTestDlg::OnHookKeyDown(WPARAM wParam, LPARAM lParam)
{
DWORD vkCode = (DWORD) wParam;
CString msg;
msg.Format(_T("Virtual Key Code: 0x%04x is down."), vkCode);
MultiThreadMessageBox(msg, _T("CeHook"), MB_OK);
return 0;
}