python - 如何使用键盘输入打开程序?
问题描述
我的项目是制作一个可以在后台玩游戏或其他程序时运行的程序。当您按下某个键时,您的记事本应该会在您再次按下相同的键后打开和关闭。
我已经设法用子进程打开记事本并且工作正常,但我不知道只有在按下某个键时才能打开它。谢谢你的帮助!
编辑:我已经尝试过:
import subprocess
import keyboard
if keyboard.is_pressed('k'):
subprocess.Popen('C:\\Windows\\System32\\notepad.exe')
input()
在这里它只是没有检测到任何键盘输入,最后的 input() 使程序不会立即关闭
import subprocess
import keyboard
keyboard.add_hotkey('ctrl+k', print,args=("hello", "test"))
input()
在这里,如果我按“ctrl+k it”将打印 hello test,这意味着热键可以正常工作。当我将这部分“print,args=("hello", "test")" 切换到 "subprocess.Popen('C:\Windows\System32\notepad.exe')" 时(它应该打开程序而不是打印 hello测试)记事本在我运行程序后立即打开,当我按“ctrl+k”时出现大错误。
解决方案
问题是您在开始时只检查一次密钥“k”。如果您希望程序正常工作,那么您应该尝试以下操作:
import time
import subprocess
import keyboard
while True:
if keyboard.is_pressed('k'):
subprocess.Popen('C:\\Windows\\System32\\notepad.exe')
time.sleep(5)
-我使用了这个时间,所以你只能在 5 秒内打开程序一次(如果你好奇,看看没有它会发生什么) -