我是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 的按键?
非常感谢。
答案 0 :(得分:0)
好的,我找到了一些答案:
1)msvcrt.getwch()
getch()的宽字符变体,返回Unicode值。
阅读详情:https://docs.python.org/3.6/library/msvcrt.html
2)我猜是的,如果有人能证实它很高兴。
3)不是我知道,每个操作系统都有差异库(如果我错了,请在这里留言)。