有点背景故事;我创建了一个VSTO插件,它将Outlook中的DoDragDrop函数挂钩并更改它,以便您可以直接从outlook拖动到我们使用的某些第三方软件。这个问题是它在outlook内部拖拽。因为我将IDataObject转换为不同的格式outlook不再识别它,并且如果将邮件项目拖入另一个文件夹或者拖回主窗口,则会复制而不是移动邮件项目。通过挂接RegisterDragDrop函数并为该窗口注册我自己的版本IDropTarget类,然后我只是以编程方式移动它,但它在文件夹窗格中更加困难,这对于主窗口来说很容易解决。
我需要能够获取光标所在的文件夹,并最好将其突出显示?或者,是否有人知道解决复制问题的另一种方法,而不是一旦将其转换为FileDrop格式就移动?
感谢。
答案 0 :(得分:0)
在设置自己的处理程序之前,可以通过调用GetProp(HWND, "OleDropTargetInterface")
来保存旧的IDropTarget接口。然后,您可以在完成按摩数据后转发呼叫