提问者:小点点

将剪贴板内容设置为自定义数据


我正在将一些XML复制到,这只对我的应用程序有意义,我不希望其他应用程序能够粘贴。使用以下行:

Clipboard.SetData(DataFormats.UnicodeText, myXML);

我可以正确复制和粘贴东西,但其他文本编辑器也可以粘贴它。我原以为会有一个用于这种情况,但没有。

有没有一种方法发送数据到剪贴板是可用的我的应用程序只?

(我假设应用程序在获取剪贴板内容之前检查可用的数据格式,如果返回的格式不是它们能够处理的,则不获取它们。例如,如果我在复制图像后使用粘贴命令,记事本将什么也不做。)


共1个答案

匿名用户

需要简单字符串作为第一个参数,不是枚举。所以您可以这样做:

Clipboard.SetData("my_custom_format", myXml);

然后您可以检查剪贴板是否包含您的数据

if (Clipboard.ContainsData("my_custom_format")) {
    var xml = Clipboard.GetData("my_custom_format");
}

并且您将无法将这些数据粘贴到其他编辑器(如记事本)中。