C#操作剪切板出现异常ExternalException

myrroom 2010-03-20 12:53:47
环境:
迅雷版本:5.8.14.706
操作系统:WinXP SP3
.NET Framework v2.0.50727
场景:
首先开启迅雷
用Windows的复制剪切功能可以正常使用

然后运行我自己的程序Test执行

System.Windows.Forms.Clipboard.Clear();
string a = "测试操作系统剪贴板";
System.Windows.Forms.Clipboard.SetText(a);


会在Clipboard.SetText(a);位置发生异常ExternalException
ErrorCode:-2147221040
Message:"请求的剪切板操作失败"
此时迅雷也会卡死,任何剪切板操作都不能正常进行


PS:如果要是先开启我的Test程序,然后再开启迅雷就不会发生错误
用迅雷的复制详细信息和我的Test程序操作剪切板都不会发生
大家都知道迅雷有一个复制详细信息的功能,我估计可能是迅雷的会把剪切板"占为己有"

不希望在说明书中和客户说如果开启迅雷本软件的XX功能不能正常使用
所以希望找到一解决方案,或者是介绍下出错的详细原因,
别说解决方案是Try{}Catch{},呵呵,先谢过了
...全文
505 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
myrroom 2010-03-22
  • 打赏
  • 举报
回复
lianyi68 2010-03-22
  • 打赏
  • 举报
回复
路過。。。關注中!
tanding87 2010-03-22
  • 打赏
  • 举报
回复
好东西啊 说的好
myrroom 2010-03-22
  • 打赏
  • 举报
回复
这个答案和我找到的一样,还有没有更好的解决办法呢?我以前用的都是30也是不行
xingyuebuyu 2010-03-20
  • 打赏
  • 举报
回复
http://social.msdn.microsoft.com/forums/en-US/Vsexpressvb/thread/a23c31df-e645-4500-ab4a-e6178510a9b1


System.Windows.Forms.Clipboard.Clear();
string a = "测试操作系统剪贴板";


System.Windows.Forms.Clipboard.SetDataObject(a, true, 2, 100);


修改retryTimes,也就是多尝试几次
myrroom 2010-03-20
  • 打赏
  • 举报
回复
沉了,顶上去

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧