Python Win32 Clipboard.SetClipboardText()不';行不通

Python Win32 Clipboard.SetClipboardText()不';行不通,python,clipboard,pywin32,Python,Clipboard,Pywin32,我有一个Python脚本,它读取剪贴板,处理内容,并用新信息更新剪贴板。这是我的密码: win32clipboard.OpenClipboard() toSearch = win32clipboard.GetClipboardData() # Do stuff win32clipboard.SetClipboardText(result) win32clipboard.CloseClipboard() 之后使用GetClipboardData()读取文本将返回我设置的文本,但正常的右键单击+粘

我有一个Python脚本,它读取剪贴板,处理内容,并用新信息更新剪贴板。这是我的密码:

win32clipboard.OpenClipboard()
toSearch = win32clipboard.GetClipboardData()
# Do stuff
win32clipboard.SetClipboardText(result)
win32clipboard.CloseClipboard()
之后使用
GetClipboardData()
读取文本将返回我设置的文本,但正常的右键单击+粘贴或control-v将返回以前的文本。这是pywin32中的错误还是我做错了什么?

这将起作用:

result = 'Some Text'
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText( result, win32clipboard.CF_TEXT )
win32clipboard.CloseClipboard()
这将有助于:

result = 'Some Text'
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText( result, win32clipboard.CF_TEXT )
win32clipboard.CloseClipboard()

我想你需要先打电话给
emptycipboard
。你为什么不检查任何返回值?@MarkRansom是的,这很有效。我应该检查哪些返回值?我不太清楚。只是诊断问题的第一步是检查错误代码,如果有,在本例中是有的。我相信您需要先调用
EmptyClipboard
。你为什么不检查任何返回值?@MarkRansom是的,这很有效。我应该检查哪些返回值?我不太清楚。只是诊断问题的第一步是检查错误代码,如果有,在本例中有。Vauge answer,但是EmptyClipboard调用似乎仍然起到了作用!Vauge回答,但EmptyClipboard的调用似乎还是奏效了!