首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows Internet Explorer7中的事件BeforeNavigate2不会触发

Windows Internet Explorer7中的事件BeforeNavigate2不会触发
EN

Stack Overflow用户
提问于 2009-06-23 17:10:11
回答 1查看 1.2K关注 0票数 0

我有一个VB6应用程序,它创建了internet explorer的一个实例,并实现了该实例的拖放。我使用的是event BeforeNavigate2,这样当用户将文件或文件夹放到资源管理器中时,事件将返回路径。

代码语言:javascript
复制
......
Public WithEvents myIExplorer as new SHDocvW.InternetExplorer
......
Private Sub myIExplorer_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, 
                Flags As Variant, TargetFrameName As Variant,
                PostData As Variant, Headers As Variant, Cancel As Boolean)

    If IsFile(URL) Then
       'Process file
    Else
       'Process folder
    End if

End Sub

它在Internet Explorer 6上工作得很好。但是,它不能在Windows Internet Explorer 7上正常工作。当我放置文件时,它可以工作,但当我放置文件夹时,它只会打开文件夹,而不会触发事件。

IE7中发生了什么变化?有什么设置吗?有什么安全问题吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-23 17:20:54

IE6有所谓的“外壳集成”,这基本上意味着iexplore.exe和explorer.exe做了同样的事情,那就是打开一个公共框架,既可以托管网页,也可以托管外壳文件夹。

对于IE7来说,由于一些技术原因,这个集成被删除了,其中包括保护模式IE安全feature,以及希望将IE7轻松下发到Windows XP和Windows Vista。

所以,为了回答你的问题,是的,IE7中发生了一些变化。如果您试图通过任何机制导航到本地文件路径,它就会中止导航并将其委托给正在运行的explorer.exe shell实例。没有恢复到以前行为的设置。

如果你需要这样做,你应该考虑写一个Shell扩展,而不是浏览器扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1033908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档