Requested Clipboard operation did not succeed的解决办法

在使用Clipboard.SetText(strTar) 将文本复制进剪贴板的时候,有时候会导致Requested Clipboard operation did not succeed的异常,但有时候又不会。

原因:

       剪切板被所有进程共享,但是不能同时被两个进程修改。所以,如果有两个程序同时访问剪贴板,就有可能导致异常的发生。即使电脑中其他的应用程序的窗口没有处于激活状态,它们也可能在后台访问剪贴板,从未导致剪贴板访问冲突。

解决方法:

        在捕获到异常的时候,间隔一定的时间,再次尝试对剪贴板进行操作。

        在.NET framework (2.0)和其以上的版本已经提供了一个方法Clipboard.SetDataObject(object data, bool copy, int retryTimes, intretryDelay) 用来解决这个问题。他会在访问剪贴板冲突的时候,间隔一定的时间,尝试访问剪贴板。

方法的说明:

//
        // 摘要:
        //     尝试指定的次数,以将数据置于系统剪贴板中,且两次尝试之间具有指定的延迟,可以选择在退出应用程序后将数据保留在剪贴板中。
        //
        // 参数:
        //   data:
        //     要置于剪贴板中的数据。
        //
        //   copy:
        //     如果想在退出应用程序后将数据保留在剪贴板中,则为 true;否则为 false。
        //
        //   retryTimes:
        //     尝试将数据置于剪贴板中的次数。
        //
        //   retryDelay:
        //     两次尝试之间暂停的毫秒数。
        //
        // 异常:
        //   System.Threading.ThreadStateException:
        //     当前线程未处于单线程单元 (STA) 模式下。请将 System.STAThreadAttribute 添加到应用程序的 Main 方法中。
        //
        //   System.ArgumentNullException:
        //     data 为 null。
        //
        //   System.ArgumentOutOfRangeException:
        //     retryTimes 小于零。- 或 -retryDelay 小于零。
        //
        //   System.Runtime.InteropServices.ExternalException:
        //     未能将数据置于剪贴板中。这种情况通常发生在剪贴板正在被其他进程使用的时候。
        public static void SetDataObject(object data, bool copy, int retryTimes, int retryDelay);

参考链接

ClipBoard.SetText Exception

Requested Clipboard operation did not succeed—MSDB Forums.

Requested Clipboard operation did not succeed—StackOverFlow

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以尝试以下几种方法来解决 "requested device 'wlan0' does not exist" 错误: 1. 检查无线网卡是否正确安装:运行命令 `lspci | grep -i wireless` 检查无线网卡是否被正确识别。如果没有任何输出,可能是因为无线网卡驱动未正确安装。您可以尝试更新或重新安装无线网卡驱动程序。 2. 检查无线网卡是否被禁用:运行命令 `rfkill list` 检查无线网卡是否被硬件或软件层面禁用。如果无线网卡显示为软件或硬件被禁用,请运行命令 `rfkill unblock wifi` 来解除禁用。 3. 检查网络接口名是否正确:运行命令 `ifconfig -a` 查看所有网络接口的列表。确认您的无线网卡的接口名称是否为 'wlan0'。如果不是,您可以使用正确的接口名称替换 'wlan0'。 4. 重新加载无线网卡驱动:运行命令 `sudo modprobe -r <driver_module>` 卸载现有的无线网卡驱动,并使用 `sudo modprobe <driver_module>` 重新加载它。请将 `<driver_module>` 替换为您实际使用的无线网卡驱动模块。 5. 更新操作系统和驱动程序:确保您的操作系统和无线网卡驱动程序都是最新版本。使用包管理工具更新您的操作系统,并从官方网站或厂商网站下载并安装最新的无线网卡驱动程序。 如果您仍然遇到问题,建议提供更多详细信息,例如您使用的操作系统和无线网卡型号等,以便我们能够更好地帮助您解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值