Я пишу консольное приложение на C #, используя Mono на OS X.
В Windows вот как я копирую текст в буфер обмена:
Clipboard.SetText("text");
... из метода, размеченного с помощью атрибута STAThread:
[STAThread] // for OLE
public static void Main (string[] args)
{
Clipboard.SetText("text");
}
Буфер обмена определяется в System.Windows.Forms. Этот код компилируется и запускается под официальной средой выполнения Microsoft .NET в Windows и в среде выполнения Mono в OS X.
В Windows текст копируется, поэтому не стоит забывать ссылку или оператор использования.
К сожалению, когда я запускаю код в Mono / OS X, текст на самом деле не копируется в буфер обмена. Что-то быстро появляется в моей док-станции, а затем исчезает так же быстро, но в любом случае текст, который я пытаюсь скопировать, не попадает в буфер обмена.
Итак: как скопировать текст из буфера обмена в OS X (и Linux?) С помощью Mono?
Если вам интересно посмотреть весь проект, код здесь: https://github.com/leeohsheeus/boom-sharp.