真 ·openclipboard失败解决办法

真 ·openclipboard失败解决办法


这个问题一直困扰我很久, 在网上找了半天没有全是些垃圾办法和乱复制粘贴办法, 自己持续优化了很久才解决.
我是写python的,需要在一个软件上复制一些东西到我的程序里边, 第一次剪贴板错误, 说的是打开指定类型错误.最开始以为是编码问题, 后边在复制的时候就出想弹框,openclipboard失败.
开始错误为:

Traceback (most recent call last):
  File "main_pyauto.py", line 354, in <module>
    auto.get_blance()
  File "main_pyauto.py", line 189, in get_blance
    copy_data = self.getCopyText()
  File "main_pyauto.py", line 129, in getCopyText
    copy_text = wc.GetClipboardData()
TypeError: Specified clipboard format is not available
import win32clipboard
win32clipboard.OpenClipboard()
win32clipboard.GetClipboardData()

一直不清楚win32clipboard.OpenClipboard()这个里边填编码参数, 我也一直以为是参数导致的,源码给的参数选项有很多, 我一个不认识, 网上没找到相应的说明
在这里插入图片描述在这里插入图片描述
都不太明白什么意思, 后来发现, 填不填参数都我来说都影响不大, 或者没有影响.(前期我还用穷举法来填这个参数,真的是瓜皮程序员)
后来发现可能是剪贴板没有关闭,或者剪贴板混用造成的.用过之后关闭且清空.并且是每次都做了

win32clipboard.EmptyClipboard()
win32clipboard.CloseClipboard()

以上又导致一个问题, 不知道为毛有了多线程错误, 这个不是我代码里边的问题, 我都没用多线程, 具体情况都是, 我把获取到的文本, 首先判断是否获取成功,成功后打印, 结果运行时判断的步骤都已经运行过了,并且打印出来,在下一步具体操作时,居然程序显示没获取到.
奇了他妈妈的大怪!!!
同一名字变量有不同值.???我满头的大包.(现在我都没明白)

解决办法:
不过后来弄了很久, 在调用复制方法时, 首先清空, 我用的是os方法清空.后在用win32的东西清空.剪贴板问题得以解决, 没有弹框, 也没有编码问题, 便利几十遍都跑的通, 不过应该就直接跑第一句就可以了.os.system(“echo off | clip”).
其实就是terminal运行echo off | clip, 其他语言也应该差不多.

import win32clipboard as wc
import os
os.system("echo off | clip")
wc.OpenClipboard()
wc.EmptyClipboard()
wc.CloseClipboard()

不知道你们的问题是否能通过这样解决. 我的目前这样解决了, 就是用之前清空剪贴板, 用之后也清空一遍.

"Could not open clipboard"(无法打开剪贴板)错误通常在Windows操作系统中出现,表示无法访问系统剪贴板。这个错误可能由多种原因引起,下面我会就可能的原因进行解释。 首先,可能的原因之一是其他应用程序正在占用系统剪贴板。如果其他应用程序正在写入或读取剪贴板内容,那么您无法访问其中的数据。您可以尝试关闭其他可能使用剪贴板的应用程序,然后再次尝试打开剪贴板。 其次,剪贴板服务可能未能正常启动或运行。您可以检查剪贴板服务是否已在系统中启用,并确保其正在运行。您可以按下Windows键 + R,然后输入services.msc来打开服务管理器。在服务列表中,查找名为"剪贴板服务"或"Clipboard Service"的服务,确保其状态为"正在运行"。 另外,您的计算机可能存在其他软件或驱动程序冲突。某些应用程序或驱动程序可能会干扰剪贴板的正常工作。您可以尝试在安全模式下启动计算机,这将禁用非必要的软件和驱动程序。如果剪贴板能够在安全模式下正常工作,那么可能是某个应用程序或驱动程序导致了问题。 最后,如果上述方法都无法解决问题,您可以尝试重启计算机。有时,系统中的临时问题可能导致无法打开剪贴板。通过重启计算机,可以重新初始化系统并解决这些问题。 总之,"Could not open clipboard"错误消息表示无法访问系统剪贴板。您可以尝试关闭其他可能使用剪贴板的应用程序,检查剪贴板服务是否正常运行,排除软件或驱动程序冲突并尝试重启计算机来解决这个问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值