【发布时间】:2023-01-17 05:23:42
【问题描述】:
我试图通过在Python 3.6 中使用ctypes 来获取存储在剪贴板中的文本。我测试了很多在 Stack 和 GitHub 上找到的解决方案,但它们只适用于 Python 2 到 Python 3.4。
这是几乎随处可见的代码:
from ctypes import *
def get_clipboard_text():
text = ""
if windll.user32.OpenClipboard(c_int(0)):
h_clip_mem = windll.user32.GetClipboardData(1)
windll.kernel32.GlobalLock.restype = c_char_p
text = windll.kernel32.GlobalLock(c_int(h_clip_mem))
windll.kernel32.GlobalUnlock(c_int(h_clip_mem))
windll.user32.CloseClipboard()
return text
我在Python 3.4 测试过。它工作正常并返回剪贴板中的文本。但是在Python 3.6 上运行相同的脚本总是返回None。到目前为止,我找不到Python 3.6 的解决方案。
我想知道是否有人可以帮助我,因为我根本不了解ctypes 和C 编程。
【问题讨论】:
-
你能包括你使用的进口吗?目前代码抛出很多
NameErrors。 -
对不起,导入已添加。
标签: python clipboard ctypes python-3.6