gpt4 book ai didi

python - 如何在 python3.8 中检测 CTRL+C?

转载 作者:行者123 更新时间:2023-12-04 08:28:00 25 4
gpt4 key购买 nike

我在 pycharm python3.8 中有这个程序,我需要检测在程序运行时浏览窗口时是否在任何地方按下了 ctrl+c,但由于某种原因,程序没有检测到按下的键是否是我的代码的“ctrl”看起来像这样:

from pynput import keyboard

def on_press(key):
if any([key in COMBO for COMBO in COMBINATIONS]):
current.add(key)
if any(all(k in current for k in COMBO) for COMBO in COMBINATIONS):
print("Ctrl+C pressed")

def on_release(key):
if any([key in COMBO for COMBO in COMBINATIONS]):
current.remove(key)

COMBINATIONS = [
{keyboard.Key.ctrl, keyboard.KeyCode(char='c')}
]

current = set()

with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
它永远不会打印消息。
我在 Windows 10 Pycharm 内部命令行上运行程序
谢谢!

最佳答案

要查看发生了什么,请在 on_press 的顶部添加一行显示每个按键:

def on_pres(key):
print(key,)
# ...
当您按 ^C ,你会注意到你得到 \x03 ... 这是其中之一 ASCII control characters .这些天他们中的大多数人并没有真正使用那么多,但这最初是控制键的全部意义。 :D
看起来像在pynput中,您可以捕获 ^C通过针对 chr(ord("C")-64) 进行测试...所有其他控制字符也是如此。
(顺便说一句,感谢您告诉我们有关 pynput 的信息。比我过去使用的要容易得多!)

关于python - 如何在 python3.8 中检测 CTRL+C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65167647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com