为什么 Clipboard.GetText 不起作用?

发布于 2024-10-11 17:17:45 字数 191 浏览 6 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

蓝颜夕 2024-10-18 17:17:45

你可以尝试:

Clipboard.GetText(System.Windows.Forms.TextDataFormat.Text)

或者看看这里:
Clipboard.GetText 返回 null(空字符串)

http://msdn.microsoft.com/es-en/library/system .windows.forms.clipboard.gettext.aspx

You could try:

Clipboard.GetText(System.Windows.Forms.TextDataFormat.Text)

Or take a look here:
Clipboard.GetText returns null (empty string)

http://msdn.microsoft.com/es-en/library/system.windows.forms.clipboard.gettext.aspx

围归者 2024-10-18 17:17:45

只需在 main() 方法上方添加一行,您的代码将如下所示:

[STAThread]

public static void main()

这解决了我的问题。

Just add one line above the main() method, your code will look like this:

[STAThread]

public static void main()

This solved the problem for me.

梦里南柯 2024-10-18 17:17:45

中接受的答案:

链接到工作代码示例

查看此线程 您需要确保您在 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 with staThread.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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文