OpenClipboard失败?

lkf181 2019-09-25 02:19:35
OpenClipboard失败(异常来自HRESULT:0x800401D0(CLIPBRD E CANT OPEN))

我写了个自动发送文字的程序,简单的逻辑是:把发送的文字放入剪切板,然后发送出去,

我是把剪切板操作放在 dll里的,一般情况没问题,也不知道和哪个程序冲突了,还是怎么回事,有的时候就会抛出这个异常!
我在网上查了一圈儿,好像是剪切板与窗口句柄还有关系?!

我把这段代码改写在主程序里,会不会就可以了呢?觉得莫名其妙.........


private void Fun2(string pString)
{
//LkfClipboard.saveClip();
//Clipboard.SetDataObject(pString, true);
//Utils.DelayMilliseconds(100);
Clipboard.SetText(pString);
Thread.Sleep(1000);
//Utils.DelayMilliseconds(100);
//string strData = GetTxtClipboard();
LKFcombinatorialKeyDownUp(new FunctionalKeysName[1] { FunctionalKeysName.leftcontrol }, new KeyboadName[1] { KeyboadName.v });
Utils.DelayMilliseconds(200);
Clipboard.Clear();
//LkfClipboard.restoreClip();

}
...全文
2030 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stherix 2019-09-26
  • 打赏
  • 举报
回复
引用 2 楼 lkf181 的回复:
[quote=引用 1 楼 stherix 的回复:] 是不是你的代码在循环里频繁访问剪切板? 可以尝试降低频率或者异常捕获,然后忽略掉这个错误
我好像是一 启动迅雷,就出现这个 错误..........................[/quote] 迅雷也是不停监视剪贴板的,因为他要捕获下载地址 所以可能是冲突的
wilson1966 2019-09-26
  • 打赏
  • 举报
回复
我自己用剪贴簿10次会有一次出现莫名的错误,但不理它又好了。 这是无解的BUG
lkf181 2019-09-26
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
是不是你的代码在循环里频繁访问剪切板? 可以尝试降低频率或者异常捕获,然后忽略掉这个错误
我好像是一 启动迅雷,就出现这个 错误..........................
stherix 2019-09-25
  • 打赏
  • 举报
回复
是不是你的代码在循环里频繁访问剪切板? 可以尝试降低频率或者异常捕获,然后忽略掉这个错误

110,534

社区成员

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

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

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