如何在C#中将粘贴处理程序添加到IOleWindow

时间:2019-02-20 19:43:52

标签: c# outlook-addin

我有一个Outlook加载项,我想要做的是捕获由于剪切和粘贴操作而添加到电子邮件中的所有文件。

我已经对目标窗口注册了一个IntPtr,并为其注册了一个拖放处理程序。

那么我该如何从IntPtr变成可以传递给我的东西: System.Windows.DataObject.AddPastingHandler()?

2 个答案:

答案 0 :(得分:0)

我认为您走的路不正确。您可能想尝试HwndSource使用IntPtrHWndSource.RootVisual转换为依赖对象,但我对此表示怀疑。

您最好钩住MailItem的AttachmentAdd事件。

答案 1 :(得分:0)

您是否要拦截Ctrl + V快捷键?您可以尝试使用Detours之类的库来修补GetClipboardData()Windows API函数。