C# 剪切板Clipboard 问题

qq284361278 2017-06-24 04:04:11
Clipboard.Clear();
//后台ctrl c复制资源管理器的某个文件(我用0字节文件测试的,不是文件没复制到,是复制到了却读不出路径)
SendCtrlC(GetForegroundWindow());
//执行到这里时,剪切板已经有刚刚复制的0字节文件了

//MessageBox.Show("");
textBox1.Text = Clipboard.GetFileDropList()[0];

提示超出索引,等于意思是:剪切板有那个文件了,但是却读取不到该文件路径,我特地在子线程测试了一下,让子线程等待5秒再读取路径,这期间我已经可以粘贴剪切板里的文件到其他地方,但是读取不到文件路径,即使子线程休眠时间到了也是读取不到路径

但如果加入一条MessageBox.Show,然后关闭消息框后就可以读取到路径。。。。。。。

这到底是什么原因

具体代码:
Clipboard.Clear();
SendCtrlC(GetForegroundWindow());
// MessageBox.Show("");
textBox1.Text = Clipboard.GetFileDropList()[0];
...全文
284 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
penglan_ 2017-06-26
  • 打赏
  • 举报
回复
SendCtrlC()这个内容是什么鬼
泡泡龙 2017-06-26
  • 打赏
  • 举报
回复
那你就加一个自动关闭的messagebox

110,571

社区成员

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

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

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