如何在无限循环中使用python win32api或ctypes在剪贴板中打印每个更改?
我尝试使用此:
import ctypes
user32 = ctypes.windll.user32
kernel32 = ctypes.windll.kernel32
def getClipboard(user32, kernel32):
while 1:
user32.OpenClipboard(0)
if user32.IsClipboardFormatAvailable(1):
data = user32.GetClipboardData(1)
data_locked = kernel32.GlobalLock(data)
clipText = ctypes.c_char_p(data_locked)
kernel32.GlobalUnlock(data_locked)
text = clipText.value
else:
text = ""
user32.CloseClipboard()
print text
getClipboard(user32, kernel32)
但这不起作用
答案 0 :(得分:1)
看起来您的代码可以正常工作。 请说明您的问题。
如果需要监视剪贴板中的更改,还可以使用AddClipboardFormatListener API。 当然,当剪贴板中的某些内容发生实际更改时,您将必须使用诸如 PumpWaitingMessages 和 PumpMessages 之类的方法来获取Windows消息。