随笔 - 22, 评论 - 123, 引用 - 0

导航

关于

本Blog站点上的任何言论仅代表个人观点,与其所在的公司,团体或者其他组织没有任何关系。本Blog站点的内容是按原样提供的,作者并不对其提供任何种类的担保。此外还否认所有暗示的保证,包括但不局限于在任何试销性或某一特定用途的适用性方面的暗示保证。由于本站内容的使用或性能表现带来的全部风险将由使用者自己承担。任何由于使用或无法使用本站内容而带来的损失(包括但不局限于商业利润、业务中断、业务信息或其他财产上的损失),即使在 本站作者曾经被提醒可能出现这些损失的情况下,本站 及其作者或涉及内容创建的任何其他人等对任何上述的损失概不负责。

标签

每月存档

最新留言

  • 回复: 搜搜地址栏的一些技术分析
    唉,象天书一样!有简单的办法没?就象用工具拆卸一样。请制造一种工具吧!SOSO简直是流氓的爷爷!谁行行好帮帮菜鸟们!!!
    by ZSD(匿名) on 2008/1/14 2:14:00
  • 回复: 搜搜地址栏的一些技术分析
    我的电脑出问题了,kernel32.dll的错误,是不是QQ引起的啊,重装了系统,还是这里的错误,晕了
    by wang(匿名) on 2007/12/18 22:40:00
  • 回复: 搜搜地址栏的一些技术分析
    太专业拉我看不懂,不过我还是卸掉拉 <br>
    by L(匿名) on 2007/12/12 22:35:00
  • 回复: 搜搜地址栏的一些技术分析
    佩服专业精神,让我学习到了很多知识和技术! <br>我遇到过你所到说的情况,不知道怎么办.现在看了你的的分析,我知道了.非常相当的谢谢! <br>
    by m9cn(匿名) on 2007/12/9 19:44:00
  • 回复: 搜搜地址栏的一些技术分析
    我看SOSO就是一个病毒
    by 我(匿名) on 2007/11/24 12:35:00
  • 回复: SoDAHK.DLL问题
    晕,这么简单的问题,居然也搞半小时!? <br>开个SRENG一看,就一清二楚了。一分钟的时间都不用,就能修复。
    by RAY(匿名) on 2007/11/13 16:53:00
  • 回复: RMS与PKI
    ding,TAIHAO LE RMS中用户的认证,最终是通过证书来进行的。在证书中对于用户的标志,是用户在AD中设置的电子邮件地址。因此,在使用RMS的时候,必须在AD中(可以通过AD用户和计算机管...
    by AA(匿名) on 2007/10/6 18:54:00
  • 回复: RMS与PKI
    ding
    by AA(匿名) on 2007/10/6 18:53:00
  • 回复: 搜搜地址栏的一些技术分析
    具体怎么删,能说的简单些吗?它弄的我c盘打不开
    by xiaoyue(匿名) on 2007/9/14 15:18:00
  • 回复: Outlook Add-In,安全带来的麻烦
    您好: <br> 我是一个VB程序员,目前有这样一个需求,写一个程序从Exchange2003收下一卦邮件,并将这卦邮件的附件更新到DB里,以前我用MAPI控件实现了,但是老是要弹...
    by 张逸(匿名) on 2007/8/7 11:37:00

广告

Windows Server 2003的应用程序兼容性问题

有些在Win2000、XP上运行良好的程序,可能在Win2003上会出现这样那样的问题。原因很多,但是建议首先看一下下面的文档,其中总结了一些Top Issues:

Guide to Application Compatibility Changes in Windows Server 2003

其他关于Windows Server 2003兼容性的信息,可以访问如下站点:Windows Server 2003支持的应用程序

posted on 2005-12-27 20:44:00 by johnxu  评论(1) 阅读(3999)

VB6开发Outlook Add-In

使用VB6开发Outlook Add-In,一般是从VB自带的Add-In模板开始。除此之外,Micro Eye, Inc提供了一个Outlook Add-In项目的VB模板,封装了一些常见的功能,比较易于上手。

由于Outlook的安全保护措施,如果要防止在访问Outlook相关对象的受保护成员时,需要确保这些对象是从受信任的Outlook Application对象(就是在OnConnection事件中传入的那一个)中派生出来的。

比如,在Outlook工具栏上插入了一个按钮。用户点击按钮时,需要读取当前的邮件正文(MailItem.Body)。由于该方法受到安全保护,为了防止弹出安全提示筐,在响应按钮的Click事件时,要从受信任的OutlookApplication对象中,导出MailItem对象。

Private Sub btnAAA_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean) Dim ml As MailItem Dim mltrust As MailItem 'GetCurrentMailItem根据Ctrl '获取当前的Inspector或者Explorer '然后取得当前的MailItem Set ml=GetCurrentMailItem(Ctrl) 'ml不是从受信任的OutlookApplication对象导出 '需要从全局OutlookApplication对象中,导出相应的MailItem 'objNS来源于全局OutlookApplication '在Add-In初始化的事件中,有如下的代码 'Set objNS = objOutlook.GetNamespace("MAPI") 'NameSpace Object '获取当前MailItem的ID,然后从MAPI Folder中,获取指向同一邮件的对象 Set mltrust = objNS.GetItemFromID(ml.EntryID) 'mltrust是从受信任的OutlookApplication对象中导出 '对于mltrust进行操作,将不会引发安全警告提示(如果该dll被信任) Msgbox mltrust.Body End Sub


 

posted on 2005-12-22 20:15:00 by johnxu  评论(14) 阅读(4691)

Outlook Add-In,安全带来的麻烦

最近在做OutlookAdd-In,需要在Outlook工具栏上加个按钮,用户点击的时候,能够将当前的邮件保存下来,再对保存的邮件进一步的一些操作。

 虽然Office Add-In是基于COM的,但VS2003也提供了相关的模板。既然如此,先考虑用.Net来实现了。

关于如何在.Net中实现Outlook插件,找到一片不错的文章:An Introduction to Programming Outlook 2003 Using C#,照猫画虎,也做的差不多了。

 

然后在运行的时候,遇到了第一个问题,就是当点击按钮的时候,会弹出提示筐,要求确认是否允许访问Outlook

 

导致弹出对话框的原因,是因为Outlook中实现了一个叫做Outlook Object Model Guard的措施,用于控制对于Outlook中某些重要信息(如邮件地址、正文)的编程访问。为了保存邮件所需要调用的MailItem—SaveAs方法,是在安全控制之类的。想想几年前病毒和垃圾邮件利用Outlook接口大肆传播的情形,可以理解现在的Outlook为啥多了这么多限制。

 

理解归理解,但是这个弹出对话框实在不是那么雅观,于是寻找解决方法。在参考了一堆文章,尤其是Important Security Notes for Microsoft Outlook COM Add-In Developers之后,大概里清楚了思路:

 

对于受到Outlook Object Model Guard保护的Outlook编程接口中的属性和方法,在同时满足如下两个条件的情况下,不会弹出安全警告筐:

1.  对于属性和方法的调用,是在受信任的COM Dll中进行的。

Outlook 2003默认安全环境下,所有的COM Dll是受信任的;如果Outlook 2003连到Exchange环境中,对于COM Dll的信任将依赖于Exchange管理员定义的安全策略。

2.  在满足1的条件下,应用代码中,被调用的对象,必须是从受信任的Outlook Application对象(就是在OnConnection事件中传入的那一个)中派生出来的

 

然而,对于Visual Studio 2003开发出来的Outlook Add-In,默认情况下,将不会被信任(Outlook 2002 COM add-ins are not trusted if they are created in Visual Studio .NET)。因为这些基于.NetAdd-In本身并不直接与Outlook发生联系,而是由Mscoree.dll作为中继。如果要解决或者避开这个问题,在上述的知识库文档中,提出了几种方法:

1.  信任Mscoree.dll,但是这将导致Outlook信任所有.Net Add-In,会导致安全风险

2.  .Net Add-In创建COM的封装类(Using the COM Add-in Shim Solution to Deploy Managed COM Add-ins in Office XP

3.  更改Outlook的安全等级

4.  使用VB或者VC开发Add-In

 

对于牵涉到安全方面的Workaround,都是不考虑的。Shim Solution看上去又太丑。正在犹豫是不是要改用VB的时候,又似乎遇到了另外一个VS2003 Add-In的问题:When COM Registration fails in an MSI (vsdraCOM has no affect),于是下定决心,翻出VS6的安装程序,在n年之后,重新用起了VB6

 

posted on 2005-12-21 23:17:00 by johnxu  评论(10) 阅读(5844)

Powered by: Joycode.MVC引擎 0.5.2.0