我将要在Mac OS X系统上使用Mono编写C#控制台应用程序。
在Windows系统上,以下是如何将文本复制到剪贴板:
Clipboard.SetText("text");
...从标记了STAThread属性的方法中:
[STAThread] // for OLE
public static void Main (string[] args)
{
Clipboard.SetText("text");
}
剪贴板是在System.Windows.Forms中定义的。这段代码可以在官方Microsoft .NET运行时上编译和运行,并且可以在OS X上的Mono运行时上运行。
在Windows上,文本被复制,因此不是忘记引用或使用语句的问题。
不幸的是,当我在Mono/OS X下运行代码时,文本实际上没有被复制到剪贴板。我的Dock上会出现一些东西,然后很快就消失了,但无论如何,我想要复制的文本都没有出现在剪贴板上。
那么,在OS X(和Linux?)上如何使用Mono复制文本到剪贴板呢?
如果您有兴趣查看整个项目,代码在这里:https://github.com/leeohsheeus/boom-sharp。