Я знаю, что этот файл очень старый, но я нашел код, который поможет вам выбрать правильный путь:
Сначала вы получаете буфер обмена:
var dataObj = Clipboard.GetDataObject();
var formats = dataObj.GetFormats();
Затем вы получаете его данные:
var sysString = dataObj.GetData("System.String");
var unicode = dataObj.GetData("UnicodeText");
var text = dataObj.GetData("Text");
var oemText = dataObj.GetData("OEMText");
var msgFragment = dataObj.GetData("SkypeMessageFragment") as MemoryStream;
var msg = new StreamReader(msgFragment).ReadToEnd();
Затем вы создаете новый объект DataObject для хранения цитаты и устанавливаете его в буфер обмена:
DataObject dataObj = new DataObject();
DateTime time = DateTime.UtcNow;
string msg = "This is a Konloch message";
string msgInText = string.Format("[{0}] {1}: {2}", time.ToString("0:hh:mm:ss"), "konloch.me", msg);
string msgInXml = string.Format("<quote author=\"{0}\" timestamp=\"{1}\">{2}</quote>", "konloch.me", time, msg);
dataObj.SetData("System.String", msgInText);
dataObj.SetData("UnicodeText", msgInText);
dataObj.SetData("Text", msgInText);
dataObj.SetData("OEMText", msgInText);
dataObj.SetData("SkypeMessageFragment", new MemoryStream(Encoding.UTF8.GetBytes(msgInXml)));
Clipboard.SetDataObject(dataObj, true);
Комплименты автору оригинала:
http://pastebin.com/RygFN7xQ
Ура!