我正在尝试在Unity中的C#中读取剪贴板中的文本,然后将其设置为变量。
我看过这篇文章然而它似乎并没有在Unity中发挥作用: https://msdn.microsoft.com/en-us/library/kz40084e(v=vs.110).aspx
我只想阅读纯文本。没有图像或任何东西。我还发现了一些其他文章,但Unity中没有任何代码可用。
答案 0 :(得分:12)
我做了一个快速示例,展示了如何使用Clipboard
命名空间中的System.Windows.Forms
类。事实证明,该方法需要[STAThread]
方法属性才能工作。我不知道是否可以在Unity3D C#脚本中使用。
[STAThread]
static void Main(string[] args)
{
if (Clipboard.ContainsText(TextDataFormat.Text))
{
string clipboardText = Clipboard.GetText(TextDataFormat.Text);
// Do whatever you need to do with clipboardText
}
}
要详细了解该属性的用途,请查看此问题(更重要的是,答案):What does [STAThread] do?
我做了一些挖掘,看起来Unity3D有一个系统剪贴板的包装器。我还没有尝试过,但看起来它应该适用于不同的操作系统,而不仅仅适用于Windows:GUIUtility.systemCopyBuffer