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