Хорошо, еще немного проб и ошибок с использованием документации, и я на самом деле нашел решение.
Для всех, у кого была такая же проблема: уловка заключается в использовании объекта DataObject, подобного следующему:
[Serializable]
public class TestData {
public string Whatever;
}
IDataObject dataObject = new DataObject();
dataObject.SetData( "System.String", "Test" );
dataObject.SetData( "Text", "Test" );
dataObject.SetData( "UnicodeText", "Test" );
dataObject.SetData( "OEMText", "Test" );
dataObject.SetData( "TestData", new TestData() { Whatever = "NONONONONO", } );
Clipboard.SetDataObject( dataObject );
Используя эту конструкцию, вы можете установить текст, используя несколько «типов данных», поэтому для любого приложения, в которое вы хотите вставить, требуется указание значения.Таким образом, при вставке отображается только текст, но скрыты внутри дополнительные данные.
Извините за постановку вопроса без исследования до конца.Хорошего дня!