来源:https://www.cnblogs.com/grenet/archive/2010/12/07/1898840.html

1、Keyboard的HOOK函数分为两种,WH_KEYBOARD_LL和WH_KEYBOARD。我们一般用第一种,全局的键盘钩子,能拦截所有的键盘按键的消息。

2、网上有人说,全局的钩子要放在单独的DLL中才能使用。我试了一下,不放在单独的DLL中,在XP+VS2005下,调试和运行都没有问题;在XP+VS2008下,调试会出错,不过编译后能运行;在WIN7+VS2010下,调试会出错,编译后能运行。这方面有研究的网友,望不吝赐教。

3、WH_KEYBOARD_LL和WH_KEYBOARD,这是两种不同的钩子,虽然最后都是KeyboardHookProc函数处理拦截的消息,但是具体的每个参数的意义却完全不一样。

WH_KEYBOARD钩子。KeyboardHookProc函数的各个参数意义如下:

nCode    消息的类型,分HC_ACTION和HC_NOREMOVE

wParam    按键的虚拟键码

lParam    按键的相关参数信息,包括重复时间、按键的状态(按下或弹起)等

WH_KEYBOARD_LL钩子。KeyboardHookProc函数的各个参数意义如下:

nCode    消息的类型,有HC_ACTION

wParam    按键的状态(按下或弹起)WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN、WM_SYSKEYUP

lParam    指向KeyboardHookStruct结构的指针,该结构包含了按键的详细信息。

可以看出,这两种钩子的参数的定义是完全不一样的。而在之前的代码中:Dim MyKeyboardHookStruct As KeyboardHookStruct = DirectCast(Marshal.PtrToStructure(lParam, GetType(KeyboardHookStruct)), KeyboardHookStruct)就是将该指针指向的内容复制到指定的结构中。

python keyboard hook_Keyboard Hook API函数 参数说明相关推荐

  1. python keyboard hook_键盘监控的实现Ⅰ——Keyboard Hook API函数

    在实际应用中,键盘监控是一种很常见的技术,它包括按键的记录.按键的过滤.按键的修改(映射)等.比方说,我们想统计用户的击键情况,这个就是按键的记录:我们想屏蔽某些系统键(例如Alt键.Win键),这个 ...

  2. 补——HOOK API函数

    HOOKAPI的意思就是,给系统函数API挂钩,让系统调用API的时候,先执行我们自己设定的程序,之后再决定是不是执行具体的API函数的功能. HOOK API的原理: 如下图: 至于是否执行完整AP ...

  3. appium python api_Appium常用的API函数

    Appium常用的API函数 (1)获取默认系统语言对应的Strings.xml文件内的数据. get_app_string() (2)查找某一个语言环境对应的字符串文件Strings.xml内数据. ...

  4. Python ctypes 调用API函数模拟键盘鼠标事件

    在Python编程中, 有时需要模拟键盘或鼠标事件, 自动操作计算机, 比如玩游戏等. 本文介绍使用ctypes模块调用API函数, 模拟键盘鼠标事件的方法. 目录 1.导入ctypes模块 2.通过 ...

  5. window下键盘监控api函数详解

    在实际应用中,键盘监控是一种很常见的技术,它包括按键的记录.按键的过滤.按键的修改(映射)等.比方说,我们想统计用户的击键情况,这个就是按键的记录:我们想屏蔽某些系统键(例如Alt键.Win键),这个 ...

  6. Python调用Windows API函数编写录音机和音乐播放器

    功能描述: 1)使用tkinter设计程序界面: 2)调用Windows API函数实现录音机和音乐播放器. 参考代码: . 运行界面:

  7. python ++++pywin32 Windows API函数大全(精心总结)

    调用windows API的方式其实有两种,第一种是通过第三方模块pywin32 安装:pip list : 查看是否已经安装 pywin32   pip install pywin32 Window ...

  8. 管理输入光标的 WIN32 API 函数

    下面的 API 函数是用来管理输入光标的 API 函数,下面是在使用C#时声明的这些函数: /**//// <summary> /// 参数说明: ///        hwnd   :  ...

  9. Delphi 常用API 函数(好多都没见过)

    2019独角兽企业重金招聘Python工程师标准>>> AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小 AnyPopup 判断屏幕上是否存在 ...

最新文章

  1. weblogic创建域后启动不了_WebLogic的Azure虚拟机主要版本发布
  2. php pdo 打印sql语句,php – 使用PDO准备SQL语句
  3. 奥运开幕了 您给开幕式和火炬点火仪式打几分?
  4. 初识Android应用程序的五大基本组件
  5. 获取父线程 java_java子线程中获取父线程的threadLocal中的值
  6. linux运行Windows模拟器,如何安装和使用Wine,以便在Linux上运行Windows应用程序?...
  7. 韦东山 嵌入式Linux驱动开发基础知识 上【hello驱动 像单片机那样驱动 用结构体封装驱动 分别注册到内核
  8. python爬虫之数据存储(四):MySQL数据库
  9. php解析shapefile,Fiona简介及Shapefile数据读取
  10. UI自动化测试如何生成HTML报告
  11. 手机连不上电脑WIFI并且一直提示正在获取IP地址
  12. Android蓝牙音乐
  13. python让手机关机_Python 神操作:远程开机和关机
  14. 一位程序员搬家到新加坡的体验
  15. 云呐:固定资产清查盘点方案,固定资产清查范围是怎样的?
  16. windows重装系统简易版--不需要u盘
  17. Linux下载zip
  18. 计算机专业可以转行医学吗,医学,会计,
  19. Python——LeetCode刷题——【977. 有序数组的平方】
  20. 5G前传网络之损伤仿真测试(5G Fronthaule, eCPRI, RoE, 25GbE)

热门文章

  1. Unity中,Destory()和DestroyImmediate()的一些坑
  2. 常见的距离计算公式——欧式距离(Euclidean Distance)
  3. Python小白学习笔记六 (面向对象 1 )
  4. 3Dslicer 查看4D nii 文件
  5. 20191209知乎之Java内存模型(JMM)总结
  6. 6461:Tak and Cards(数位DP)
  7. c++学习课件(四)——线程、make和cmake
  8. 详解OSI七层网络模型 TCP/IP四层模型
  9. 多web站点统一访问授权管理中心系统项目(源码)
  10. CG-Introduction