在封裝讀取剪貼板的時候,執行測試代碼時遇到個錯誤:
pywintypes.error: (1418, 'GetClipboardData', '\xcf\xdf\xb3\xcc\xc3\xbb\xd3\xd0\xb4\xf2\xbf\xaa\xb5\x
代碼:
#encoding=utf-8
import win32clipboard as w
import win32con
import time
class Clipboard(object):
#模擬Windows設置剪貼板
#讀取剪貼板
@staticmethod
def getText():
#打開剪貼板
w.OpenClipboard()
#獲取剪貼板中的數據
content=w.GetClipboardData(win32con.CF_TEXT)
#關閉剪貼板
w.CloseClipboard()
#返回剪貼板數據
return content
#設置剪貼板內容
@staticmethod
def setText(aString):
#打開剪貼板
w.OpenClipboard()
#清空剪貼板
w.EmptyClipboard()
#將數據aString寫入剪貼板
w.SetClipboardData(win32con.CF_UNICODETEXT,aString)
#關閉剪貼板
w.CloseClipboard()
if __name__=='__main__':
Clipboard.setText(u'hey buddy!')
print Clipboard.getText()
然后在網上查,是因為設置了剪貼板內容之后,馬上就讀取剪貼板內容的話,可能這時候剪貼板的內容還沒設置好,讀取不到內容就會報錯,
需要在設置剪貼板之后等幾秒鍾。
測試改成:
if __name__=='__main__':
Clipboard.setText(u'hey buddy!')
#time.sleep(3)
print Clipboard.getText()
結果:
C:\Python27\python.exe D:/test/hybrid_version2/util/keyboard.py
hey buddy!
Process finished with exit code 0