我正在使用OS X上的Mono在C#中编写一个控制台应用程序。
在Windows上,以下是将文本复制到剪贴板的方法:
Clipboard.SetText("text");
...来自使用STAThread属性标记的方法:
[STAThread] // for OLE
public static void Main (string[] args)
{
Clipboard.SetText("text");
}
剪贴板在System.Windows.Forms中定义。该代码在OS X上的Mono运行时上的Windows 和上的官方Microsoft .NET运行时下编译和运行。
在Windows上,文本被复制,因此不会忘记引用或使用语句。
不幸的是,当我在Mono / OS X下运行代码时,文本实际上并未复制到剪贴板。我的Dock上出现了一些快速的东西然后消失得很快,但不管怎样,我正在尝试复制的文本不会在剪贴板上结束。
那么:我如何使用Mono复制文本在OS X(和Linux?)上做剪贴板?
如果您对查看整个项目感兴趣,则代码位于:https://github.com/leeohsheeus/boom-sharp。
答案 0 :(得分:7)
如果您想使用Mono为多个平台编程,Gtk.Clipboard可能对您有用。
最低使用量 - 示例:
Gtk.Clipboard clipboard = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false));
clipboard.Text = "Hello World";
此Stackoverflow-Question可能也很有趣。
答案 1 :(得分:0)
控制台应用本身无法将文本复制到剪贴板。用户必须使用终端应用程序中的Copy& Paste。