首页 > 解决方案 > 如何使用键盘输入打开程序?

问题描述

我的项目是制作一个可以在后台玩游戏或其他程序时运行的程序。当您按下某个键时,您的记事本应该会在您再次按下相同的键后打开和关闭。

我已经设法用子进程打开记事本并且工作正常,但我不知道只有在按下某个键时才能打开它。谢谢你的帮助!

编辑:我已经尝试过:

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”时出现大错误。

标签: pythonwindowsinputkeyboard

解决方案


问题是您在开始时只检查一次密钥“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 秒内打开程序一次(如果你好奇,看看没有它会发生什么) -


推荐阅读