Clipboard.GetText()始终在Mac上的Mono中返回空字符串
有没有办法让Mono的Mac上的剪贴板不返回空字符串? 这是使用最新的NON-beta版单声道。
Clipboard.SetText(String)工作正常,我可以粘贴到其他程序。
Clipboard.GetText(TextDataFormat.UnicodeText) Clipboard.GetText(TextDataFormat.Text) Clipboard.GetText(TextDataFormat.Rtf)
即使Clipboard.ContainsText(TextDataFormat.UnicodeText)返回true,所有返回“”。
编辑:
解决方案最终是在Mac上使用NSPasteboard。 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSPasteboard_Class/Reference/Reference.html
可能是mono将TextDataFormat.UnicodeText解释为utf-16,但“其他应用程序”将文本放在剪贴板上为utf-8。
以下是一个补丁,如果我没记错的话,修复了与此类似的问题。
剪贴板补丁
你需要从中构建单声道并应用补丁来试试这个。
解决方案最终是在Mac上使用NSPasteboard。 https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSPasteboard_Class/Reference/Reference.html
我无法让剪贴板返回任何东西。 Mono在NSPasteboard周围有包装,因此最终变得非常简单。