Python(3.6.1)按键检测和弹出窗口

时间:2017-03-28 13:28:55

标签: python popup keypress msvcrt

我是python的新手,我在Windows上按下时尝试打印密钥并在弹出消息中显示密钥:

import msvcrt
import ctypes  # An included library with Python install.

def Mbox(title, text, style):
    ctypes.windll.user32.MessageBoxW(0, text, title, style)

while True:
    if msvcrt.kbhit()== True:
        key = msvcrt.getch()
        print(key)  # just to show the result
        Mbox(key, key, 1)

问题是:

1)如果我按一个键,输出是不同的,例如:“ A ”是“ b'A'” 为什么?以及如何将其更改为“ A ”? (弹出窗口上的输出甚至更奇怪:当我按下1时按1或2 * x时为1X)

2)While True:是否一直使代码运行,并且通过它可以检测代码是否被按下了?

3)是否有任何用于python的lib可以检测到 windows Linux 的按键?

非常感谢。

1 个答案:

答案 0 :(得分:0)

好的,我找到了一些答案:

1)msvcrt.getwch() getch()的宽字符变体,返回Unicode值。

阅读详情:https://docs.python.org/3.6/library/msvcrt.html

2)我猜是的,如果有人能证实它很高兴。

3)不是我知道,每个操作系统都有差异库(如果我错了,请在这里留言)。