ActiveX 模式窗口锁定 IE9

ActiveX 模式窗口锁定 IE9

我有一个旧的 VB6/ActiveX Web 应用程序,它在 IE9 上运行不佳

具体来说,当应用程序打开模态窗口时,它会锁定父窗口。它在 IE7 和 IE8 下似乎运行良好

是否有我可以更改的设置来使其表现更好。我尝试将网站添加到“工具”菜单下的“可比性视图”设置中,但没有更好的结果。

编辑:

我已经将该网站添加到我的网站Trusted Sites并允许所有 ActiveX 选项(实际上一切都是允许的)

答案1

答案2

我会针对每个可能使用的区域尝试此操作(我将引用 Internet 区域):工具>Internet 选项>安全>自定义级别,向下滚动到“ActiveX 控件和插件”区域,降低所有控件的安全性作为测试。如果问题解决了,则逐个提高它们的安全性,直到再次出现问题,然后再关闭该设置。

答案3

似乎

由于 VB6 不再受支持,因此不能保证与基于 IE9 的 WebBrowser 控件完全兼容。

当显示 vb6 模式对话框时,IE9 会禁用父窗口,但关闭时不会重新启用它们。

这是我在调用显示模态对话框之后添加到代码中的解决方法:

Me.Show vbModal
Call EnableParentWindows(Me.hwnd)
...

Private Declare Function EnableWindow& Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long)

Public Function EnableParentWindows(ByVal hwnd As Long) As Boolean
    ' This function is intended to fix the IE9 modal dialog freeze problem
    While hwnd <> 0
        EnableWindow hwnd, &O1
        hwnd = GetParent(hwnd)
    Wend
    EnableParentWindows = True
End Function

这对我有用。

答案4

您是否使用 TabProcGrowth=0 进行调试?我的 ActiveX/IE9 因此被锁定。我不得不将该值重置为 1 才能正常运行我的 AX(但当然不能调试)

相关内容