为什么 Clipboard.GetText 不起作用?
String str = Clipboard.GetText();
抛出异常
未处理的类型异常 '系统.StackOverflowException' 发生在PresentationCore.dll
如何防止这个问题?
String str = Clipboard.GetText();
throws an exception
An unhandled exception of type
'System.StackOverflowException'
occurred in PresentationCore.dll
How do I prevent this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以尝试:
或者看看这里:
Clipboard.GetText 返回 null(空字符串)
http://msdn.microsoft.com/es-en/library/system .windows.forms.clipboard.gettext.aspx
You could try:
Or take a look here:
Clipboard.GetText returns null (empty string)
http://msdn.microsoft.com/es-en/library/system.windows.forms.clipboard.gettext.aspx
只需在
main()
方法上方添加一行,您的代码将如下所示:这解决了我的问题。
Just add one line above the
main()
method, your code will look like this:This solved the problem for me.
中接受的答案:
链接到工作代码示例
查看此线程 您需要确保您在
STAThread
中启动或运行staThread.SetApartmentState(ApartmentState.STA);
我还建议您在加入后添加一点睡眠或等待,因为有时当 staThread.Join() 返回时剪贴板内容不会立即可用。
Look at the accepted answer in this thread:
Link to working code sample
In summary you need to ensure you start or are running in an
STAThread
withstaThread.SetApartmentState(ApartmentState.STA);
I also suggest you add a little bit of sleep or wait after join as sometimes the clipboard content is not immediately available when
staThread.Join()
returns.