设为首页 收藏本站
查看: 1069|回复: 0

[经验分享] [Outlook]如何规避“Email Security Update”警告框

[复制链接]

尚未签到

发表于 2015-9-14 11:39:20 | 显示全部楼层 |阅读模式

如何规避“Email Security Update”警告框?
编写者:郑昀(转载时请注明)

在各种版本的Outlook安装了“Email Security Update”补丁之后,每当我们访问某些字段时,都会弹出警告框。但是Outlook 2003除外,Outlook 2003 在以下三种类型应用程序访问时不弹出警告框:

?         VBScript code in published, non-oneoff Outlook forms

?         Outlook VBA code that uses the intrinsic Application object

?         Outlook COM add-ins properly constructed to derive all objects from the Application object passed by the OnConnection event

在很多操作Outlook事件中,我们都需要访问敏感字段,我们可以这样来规避警告框:

我们先在本地硬盘新建一个临时的VBScript脚本文件;另外启动一个Wscript.Exe引擎,运行事先写好的VBScript脚本。它不断检测当前激活的窗口,如果出现了那个警告框,就用SendKeys的方法选中“a”和“y”按键,从而允许一分钟之内可以访问敏感字段。这样,虽然警告框仍然会弹出,但是用户几乎不会注意到它,也不会增加用户的操作复杂度。

由于Outlook XP版本中的该警告框并没有给“Yes”按钮设置y热键,所以我们这时候必须再次发送两个TAB和一个ENTER键消息,才能够关闭该警告框。

所运行的VBScript脚本内容如下所示:

Set fso = CreateObject("WScript.Shell")
While fso.AppActivate("Microsoft Outlook") = FALSE
       wscript.sleep 50
Wend
fso.SendKeys "a", True
fso.SendKeys "y", True
fso.SendKeys "{TAB}{TAB}{ENTER}", True


在“g_oApplication_ItemSend”和“g_oNewMailSMS_Click”事件中,我们是这么做的:

首先,检查Outlook版本,如果是2003版本以下,那么我们调用Scripting.FileSystemObject对象,创建一个名为“ByPass.vbs”的文件,默认在当前Outlook应用程序路径下。文件内容就是上面的VBScript脚本内容。对于Outlook 2003,我们不用理会。

其次,调用

Set wshShell = CreateObject("Wscript.Shell")
wshShell.Run ("wscript.exe ByPass.vbs //B")
来运行这个脚本。

最后,当事件完成,就把这个脚本删除。


Writen by zhengyun.nojunk(at)gmail.com
附录:

    On Error Resume Next
    Dim strOutlookVersion As String
    Dim fso, wshShell
    Set fso = CreateObject("Scripting.FileSystemObject")
    Dim strFileNameOfByPass As String ' VBScript脚本文件名
    strFileNameOfByPass = "OutlookEmailSecurityUpdateByPass.vbs"
  strOutlookVersion = g_oApplication.Version
    Dim arraySplit
    arraySplit = Split(strOutlookVersion, ".")
    strOutlookVersion = arraySplit(0)
    ' 检查Outlook版本号:
    Dim fsoFile
    If CInt(strOutlookVersion) < 11 Then
   
        ' 先创建一个VBScript脚本文件
        Set fsoFile = fso.CreateTextFile(strFileNameOfByPass)
        fsoFile.WriteLine "Set fso =CreateObject(""WScript.Shell"")"
        fsoFile.WriteLine "While fso.AppActivate(""Microsoft Outlook"") = FALSE"
        fsoFile.WriteLine "wscript.sleep 50"
        fsoFile.WriteLine "Wend"
        
        If CInt(strOutlookVersion) = 9 Then
            ' Outlook2000默认按钮上有快捷键设置,所以可以发射a和y键即可:
            fsoFile.WriteLine "fso.SendKeys ""a"", True"
            fsoFile.WriteLine "fso.SendKeys ""y"", True"
        End If
        
        If CInt(strOutlookVersion) = 10 Then
            '
            ' 在OutlookXP上面,这个警告框的&#8220;Yes&#8221;按钮并没有设置y热键
            ' 所以我们发送y键没有用,那么我们继续发送两个TAB和一个回车
            ' 也可以起到关闭警告框的作用
            fsoFile.WriteLine "fso.SendKeys ""a"", True"
            fsoFile.WriteLine "fso.SendKeys ""{TAB}{TAB}{ENTER}"", True"
        End If
        
        fsoFile.Close
        
        ' 然后运行它:
        If fso.FileExists(strFileNameOfByPass) Then
            Set wshShell = CreateObject("Wscript.Shell")
            wshShell.Run ("wscript.exe " & strFileNameOfByPass & " //B") '//B代表不要弹出错误对话框
        End If
    End If
    On Error GoTo 0


Trackback: http://tb.blog.iyunv.com/TrackBack.aspx?PostId=33826

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-113484-1-1.html 上篇帖子: Outlook Express模拟题分析 下篇帖子: outlook 初始化 (2010)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表