用全局钩子取键盘输入

易语言 2020-07-04 14:07:29

可以记录不同进程键盘输入的全局钩子
.子程序 钩子安装, 整数型, 公开, 返回钩子句柄SetWindowsHookExA
.参数 钩子, , , 键盘是13
.参数 钩子函数, 子程序指针, , 3个参数1icode 2wparam 3lparam都是int

返回 (winapi (, “ SetWindowsHookExA”, 1, 13, 钩子函数, winapi (, “GetModuleHandleA”, 1, 0), 0))

.子程序 钩子卸载, , 公开, UnHookWindowsHookEx
.参数 钩子句柄, 整数型

winapi (, “UnhookWindowsHookEx”, 1, 钩子句柄)

.子程序 hs, 整数型
.参数 ic
.参数 wparam
.参数 lparam

' 调试 (取键码 (lparam))
.如果 (wparam = 257)
编辑框1.加入文本 (到文本 (取键名 (取键码 (lparam))))
.否则

.如果结束
.如果真 (取键码 (lparam) = 27)
返回 (1)
.如果真结束
返回 (钩子下一钩子 (n, ic, wparam, lparam))