python 记录今日学习按键消息心得

2023-12-14 00:00:38

主要思路:如果击键速率大于程序处理速率 那么在收到按键消息时,会把多个消息组合到单个消息中,那么lParam参数的低16位域指示的重复计数将大于1,此时我们可以知道,要么是使用了低配置电脑,要么是使用了Windows命令,所以由此推断用户是否使用脚本:

case win32con.WM_KEYDOWN:
    #wParam 参数是按键虚拟码
    if debug:
        print("你按下了键盘键,消息编号是:", msg, " ", hex(msg), "wParam的值是:", wParam, "  lParam的值是:", lParam)
    match(wParam):
        case 0x01:  #vk_lbutton
            print("01键盘信息收到按下鼠标键-------------------")
        case win32con.VK_UP:
            print("按下的键盘的向上箭头",hex(win32con.VK_UP))
    print("你按下了键盘键,消息编号是:", msg, " ", hex(msg), "wParam的值是:", wParam,"  ",hex(wParam) ,"  lParam的值是:", lParam,"环境代码:",lParam>>29 & 0x1)
    print(" lParam的值是:", lParam,"先前状态:", lParam >> 30 & 0x1,"转换状态:", lParam >> 31 & 0x1,"重复计数:", lParam & 0xFFFF)
    return 0
case win32con.WM_KEYUP:
    print("你释放键盘键,消息编号是:", msg, " ", hex(msg), "wParam的值是:", wParam, "  ", hex(wParam), "  lParam的值是:", lParam,
          "环境代码:", lParam >> 29 & 0x1)
    print(" lParam的值是:", lParam, "先前状态:", lParam >> 30 & 0x1,"转换状态:", lParam >> 31 & 0x1,"重复计数:", lParam & 0xFFFF)
    return 0

文章来源:https://blog.csdn.net/pengg123h/article/details/134912815
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。