[英]Python “keyboard” module: Release keys to allow copy/Ctrl+C
我正在尝试使用Python中的“键盘”模块模拟现有的AutoHotKey脚本(因为AHK脚本的部署故事似乎比Python脚本还要糟糕)。
在此脚本中,我使用键盘快捷键(左Windows键+ F12),该快捷键应触发“复制”命令,使我可以通过pyperclip或win32clipboard检索复制的文本,对其进行修改,并通过键入新文本来替换所选文本
这是代码的win32clipboard版本:
import keyboard
import win32clipboard
def on_triggered():
keyboard.press_and_release('ctrl+c')
win32clipboard.OpenClipboard()
new_data = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
keyboard.write(new_data + ' duuuuude.')
keyboard.add_hotkey('left windows+F12', on_triggered)
我简化了上面的脚本,删除了一些内部管理代码(保存,清除和还原现有剪贴板内容)。
据我所知,当触发“ ctrl + c”时,仍然按住“ left windows + F12”,并且文本从不实际复制。 有没有办法告诉“键盘”库忽略当前所有键盘输入? 还是我采用错误的方法?
在这里,您也可以使用python的“ PyAutoGui”模块。 它非常简单,而且代码非常简短。
例如
pyautogui.hotkey('ctrl', 'c') # ctrl-c to copy
pyautogui.hotkey('ctrl', 'v') # ctrl-v to paste
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.