问题现象:
通过打断点,一步步调试可以正常复制和粘贴剪贴板数据。但是直接运行会报错pywintypes.error: (1418, 'GetClipboardData',线程没有打开的剪贴板)

问题原因:
原因是直接运行的话,没办法控制main线程的运行顺序,可能出现setText()还未关闭剪贴板,getText()就打开了剪贴板的情况。
但是打了断点之后,就可以按照代码中所写的那样的顺序来执行了。

解决方法:
在调用Clipboard.setText(content)之后,一定要加time.sleep(3)
尼玛,这个坑卡了我好几天。。。

源码如下:
#encoding = utf-8
import win32clipboard as w
import win32con,time class Clipboard(object):
@staticmethod
def getText():
w.OpenClipboard()
d = w.GetClipboardData(win32con.CF_UNICODETEXT)
w.CloseClipboard()
return d @staticmethod
def setText(aString):
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_UNICODETEXT, aString)
w.CloseClipboard() if __name__ == "__main__":
content = "xiaohuhu"
Clipboard.setText(content)
time.sleep(3) #一定一定要加暂停,要不然会提示pywintypes.error: (1418, 'GetClipboardData',线程没有打开的剪贴板)
a = Clipboard.getText()
print(a)

最新文章

  1. 在sharepoint2013中如使用PowerView
  2. 【我是老中医】codeblocks无法编译的问题解决方法
  3. IntelliJ IDEA 目录技巧
  4. Redis设计与实现-主从、哨兵与集群
  5. Android 编程下如何调整 SwipeRefreshLayout 的下拉刷新距离
  6. 各个版本的spring jar包
  7. Android Studio怎么删除项目
  8. SR4000笔记
  9. 模块工具类--utils
  10. 安装ecshop提示“安装数据失败”或者“创建管理员帐号”
  11. 身在魔都的她,该不该继续"坚持"前端开发?
  12. Web缓存(一) - HTTP协议缓存
  13. toString
  14. centos7下tomcat8.5安装部署与优化
  15. Cesium Up and Running Error: Cannot find module 'express'
  16. jQuery事件--change([[data],fn])、on(events,[selector],[data],fn)和hover([over,]out)
  17. 一个有趣的nginx问题引发的小问题
  18. Spring组件扫描 <context:component-scan/>
  19. postgresql分区表探索(pg_pathman)
  20. vi命令速查图

热门文章

  1. Fzu Problem 1901 Period II (kmp)
  2. Vue项目搭建流程 以及 目录结构构建
  3. 152 Maximum Product Subarray 乘积最大子序列
  4. nginx缓存配置及开启gzip压缩
  5. 用NPOI从Excel到DataTable
  6. 如何使用SAP CRM Marketing Survey创建一个市场问卷调查
  7. 在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图
  8. 微信小程序开发系列四:微信小程序之控制器的初始化逻辑
  9. docker 深入理解之namespace
  10. 一篇文章搞懂高级程序员、架构师、技术总监、CTO从薪资到技能的区别