清空剪贴板?

5

Python是否可以清空剪贴板?如果可以...怎样做呢?

我需要这个功能,这样在我的测验程序中,学生就不能从互联网和其他文件中复制粘贴答案。

编辑:我使用的是WinXP和Python 2.6。


2
他们仍然可以把它们写下来,不是吗? - OscarRyz
类似的问题,基本相同的答案:如何从Python读取(Windows)剪贴板中的文本? - kmote
@OscarRyz 他们可以输入他们的答案 - Katherina
@kmote 你好,我在导入win32clipboard时遇到了这个错误。 ImportError: DLL load failed: 找不到指定的模块... 你有什么想法吗?我已经从这里下载了pywin32 http://sourceforge.net/projects/pywin32/files/pywin32/Build216/pywin32-216.win32-py2.6.exe/download - Katherina
2个回答

11
from ctypes import windll
if windll.user32.OpenClipboard(None):
    windll.user32.EmptyClipboard()
    windll.user32.CloseClipboard()

不需要使用外部库。


1

是的,你可以使用PyWin32模块,这是一个用于Windows扩展的Python模块。

看一下它的EmptyClipboard方法。

EmptyClipboard函数清空剪贴板并释放剪贴板中数据的句柄。然后将剪贴板的所有权分配给当前打开剪贴板的窗口。


嗨,我下载了 pyWin32。请问怎么导入它?当我使用 import win32clipboard、win32con 和 random 时出现错误。我得到了这个 ImportError: DLL load failed: 找不到指定的模块。 - Katherina
@Katherina:你下载了哪个版本的PyWin32?请下载与Python2.6对应的版本。 - RanRag
是的,我已经下载了Python 2.6的安装程序。不知道为什么在导入时会出现错误。无论如何,我会再试一次找出原因。 - Katherina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接