2008-01-09
Outlook MAPIOBJECT
Outlook的对象模型中,很多对象都有一个MAPIOBJECT属性。这个属性可以用来获得对应的MAPI对象。最简单的应用可能就是取得MailItem上的一些额外属性,比如取得Attachment的ContentId。
要正确使用这个属性不容易。首先,不要在进程外取得属性的值,也就是说不能用Office Automation来启动Outlook,必须是在AddIn中取值。用伪代码,示例如下:
主要的障碍是IMessage没有.NET版本的,所以我使用了C++/CLI来做Interop。替代方案有Redemption,和MAPI33,但是都是要收费的。
要正确使用这个属性不容易。首先,不要在进程外取得属性的值,也就是说不能用Office Automation来启动Outlook,必须是在AddIn中取值。用伪代码,示例如下:
- Marshal.GetIUnknownForObject(attachment.MAPIOBJECT)
- Marshal.QueryInterface(pUnk, ref IID_IMAPIProp, out pMAPIPropObj); // Guid IID_IMAPIProp = new Guid("{00020303-0000-0000-C000-000000000046}");
- pMAPIProp->GetProps((LPSPropTagArray)props, MAPI_UNICODE, &count, &propValue); // ULONG props[] = {1, 0x3712001E}; // property tag for content id
主要的障碍是IMessage没有.NET版本的,所以我使用了C++/CLI来做Interop。替代方案有Redemption,和MAPI33,但是都是要收费的。
发表评论
- 浏览: 81554 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
step2
共 6 张
共 6 张
最近加入圈子
最新评论
-
汉语编程,有搞头
就E语言算巴 没用过也没计划用 CHTML不错哈哈
-- by lwwin -
关于estimation的闲言碎语
1. BA是Business Analyst的缩写,就是写story的人.2. ...
-- by taowen -
关于estimation的闲言碎语
请教:1.BA是什么意思?Business Analyzer?2.“好的esti ...
-- by movingboy -
计划经济体制的CMM,市场 ...
有创意,有启发性。顶!!
-- by estest -
贫血的Domain Model
看了这么久的领域模型,争论的真是没完没了。 难道就不能跳开这个领域模型或者还领域 ...
-- by hunter001201






评论排行榜