6

我知道这个问题与我的问题相同:

但我正在寻找一种解决方法来实现将 Outlook 消息放入我的 webapp(目前只有 HTML5 / JS 代码)。

是否可以使用一些 activeX 将消息复制到临时文件系统文件夹中,然后使用此文件引用?我想知道可行性水平。

另外,我们可以使用 ActiveX 从 Jscript 调用 DLL 是否正确,例如:

var obj = new ActiveXObject("ABCDll.testMethod");
var vResult = obj.TestMethod();
alert(vResult);

顺便说一句,如果有人有任何其他建议为任何文件做一个工作拖放组件(IE 兼容),包括。来自 Outlook 的电子邮件(目前唯一不起作用的东西......)

非常感谢您的任何意见。

4

2 回答 2

10

Outlook 使用许多应用程序不理解的CFSTR_FILECONTENTS 和 CFSTR_FILEDESCRIPTOR格式。对这个问题的解决方案使用Outlook 加载项来拦截 D&D 并将专有格式转换为通常的文件拖放 (CF_HDROP)。

加载项将 OLE32.DLL 的导入表中的 DoDragDrop 函数指针替换为包装函数(在 Outlook 的内存地址空间内)。包装器转换 D&D 数据并调用原始函数。

本文介绍如何挂钩到导入表。Outlook 的 D&D 流格式在此处解释。流数据必须写入(临时)文件以提供简单的CF_HDROP

于 2015-06-27T23:03:50.513 回答
3

您可以在 C++ 或 Delphi 中编写浏览器帮助程序(用于 IE),从 IE 检索当前拖放处理程序并安装其自己的处理程序。当从 Outlook 中拖动消息时,您可以将其保存到临时文件夹,然后调用原始拖放处理程序。处理程序返回后,可以删除临时文件。

我过去曾这样做过,而且效果很好。您可能想查看在 IE 中拦截拖放的 Google Gears 源代码(不再受支持)。

于 2013-11-12T13:52:03.807 回答