繁体   English   中英

Python“键盘”模块:释放键以允许复制/ Ctrl + C

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM