2013-06-18 23 views
0

有沒有辦法在Mono中的Mac上獲取不返回空字符串的剪貼板?這是使用最新的NON-beta版本的單聲道。Clipboard.GetText()總是在Mac上的Mono中返回空字符串

Clipboard.SetText(字符串)工作正常,我可以粘貼到其他程序。

Clipboard.GetText(TextDataFormat.UnicodeText) 
Clipboard.GetText(TextDataFormat.Text) 
Clipboard.GetText(TextDataFormat.Rtf) 

即使Clipboard.ContainsText(TextDataFormat.UnicodeText)返回true,所有返回「」。

編輯:

該解決方案最終被使用NSPasteboard在Mac上。 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSPasteboard_Class/Reference/Reference.html

回答

0

單聲道可能將TextDataFormat.UnicodeText解釋爲utf-16,但「其他應用程序」將文本放置在剪貼板上作爲utf-8。

以下是一個修補程序,如果我沒有記錯,修復類似於此的問題。

clipboard patch

您將需要從建立單聲道和應用補丁嘗試了這一點。

+0

嗯。我昨天發現補丁,但我的問題似乎是,即使我的剪貼板上只有純文本(ascii),Rtf之一表示我在剪貼板上有RTF文本,但我沒有。無論如何,所有3都返回空字符串。我會嘗試做一個MaC#ifdef,它不檢查Rtf或Plaintext,只是用這個補丁查看Clipboard.GetText(TextDataFormat.UnicodeText)並將結果返回到這裏。 – shane

相關問題