如何写全局钩子截获启动的应用程序及系统的键盘事件,小弟必拱手献上100分已表谢意!! 如何写全局钩子截获系统启动的应用程序及系统的键盘事件,求原码发送到e-mail: [email protected] 或 [email protected] 小弟深表感谢!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 编译成dll就可以了//.cpp#include "windows.h"#define WH_KEYBOARD_LL 13typedef struct tagKBDLLHOOKSTRUCT { DWORD vkCode; DWORD scanCode; DWORD flags; DWORD time; DWORD dwExtraInfo;} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;HHOOK hHook = NULL;HINSTANCE hInstance = NULL;void WINAPI StartHook();void WINAPI StopHook();LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){ hInstance = (HINSTANCE)hModule; return TRUE;}LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam){ if (nCode >= 0) { KBDLLHOOKSTRUCT* kb = (KBDLLHOOKSTRUCT*)lParam; bool exp = kb->vkCode == 91 || kb->vkCode == 92 || kb->vkCode >= 160 && kb->vkCode <= 165; if (exp) return TRUE; } return CallNextHookEx(hHook, nCode, wParam, lParam);}void WINAPI StartHook(){ hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0); }void WINAPI StopHook(){ UnhookWindowsHookEx(hHook);}//.defEXPORTSStartHook @1StopHook @2 网上很多类似的例子http://www.vccode.com/file_show.php?id=178http://www.vccode.com/file_show.php?id=175 hook键盘的代码给你发过去了。 急求!在线等!关于wx的两个问题 急求一个给SysListView32发送单击消息的问题 ListCtl如何显示图标? 紧急求援!!怎么读二进制文件???? 如何实现word那样的分页?(分数不够还可以加) stdafx.h 究竟是什么头文件~ 如何中断已经在运行的函数? 有关调用DCOM的问题 菜鸟提问,请问在VC中ADO和ODBC哪个最好? inline hook远程线程注入 一个基础问题,工具提示控件发送WM_NOTIFY,通知码是TNN_NEEDTEXT,对其工作方工十分不解 怎样输出框的大小设置字体?
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
DWORD dwExtraInfo;
} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;HHOOK hHook = NULL;
HINSTANCE hInstance = NULL;void WINAPI StartHook();
void WINAPI StopHook();
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam);BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
hInstance = (HINSTANCE)hModule;
return TRUE;
}LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode >= 0)
{
KBDLLHOOKSTRUCT* kb = (KBDLLHOOKSTRUCT*)lParam;
bool exp = kb->vkCode == 91 || kb->vkCode == 92 || kb->vkCode >= 160 && kb->vkCode <= 165;
if (exp) return TRUE;
}
return CallNextHookEx(hHook, nCode, wParam, lParam);
}void WINAPI StartHook()
{
hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0);
}void WINAPI StopHook()
{
UnhookWindowsHookEx(hHook);
}//.defEXPORTS
StartHook @1
StopHook @2
http://www.vccode.com/file_show.php?id=178
http://www.vccode.com/file_show.php?id=175