我尝试创建一个剪贴板监视器程序,我需要检测何时从我的应用程序设置数据,然后我可以忽略它们,对于这项工作,我尝试将自定义格式添加到剪贴板,因此首先使用此代码注册新格式:
int iii = RegisterClipboardFormat("ClipboardManagerIgnoreItem");
[DllImport("user32.dll")]
private static extern int RegisterClipboardFormat(string Format);
然后在将数据对象设置为剪贴板之前,将新格式设置为数据对象,如下所示:
var data = dic_clip[key];//get source data
var data2 = data as DataObject;
data2.SetData("ClipboardManagerIgnoreItem",false, "");//add new format
最后将数据设置到剪贴板:
Clipboard.SetDataObject(data2, true);
但是在设置之后和之前,当我在应用程序中检查剪贴板数据时,我没有任何自定义格式!
var dt = data2.GetFormats(false);
怎么了 ?