【问题标题】:IE.Visible = false; But it actually shows ? c#IE.可见 = 假;但它实际上显示了? C#
【发布时间】:2015-11-23 05:16:20
【问题描述】:

我正在尝试以隐形方式导航,尝试过这个

SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
IE.Visible = false;
IE.Navigate("http://example.org");

有效,但是,它实际上显示了 IE 窗口。隐藏 IE 窗口的最佳方法是什么?

【问题讨论】:

  • 请问,您的程序架构是否特别需要IE?如果没有,您可以使用网络浏览器控件进行静默导航。例如,如果您尝试实现的唯一目的是发送带有 IE 用户代理字符串的 HTTP 请求以缓存特定网站或类似网站。您可以改用网络浏览器控件。

标签: c# internet-explorer navigation shdocvw


【解决方案1】:

来自文档: “第一次创建 Windows Internet Explorer 应用程序时,它是隐藏的。使用 Navigate 方法或 GoSearch 方法后它变得可见。”

导航后设置可见。

https://msdn.microsoft.com/en-us/library/aa752082(v=vs.85).aspx

http://forums.codeguru.com/showthread.php?512303-SHDocVw-InternetExplorerClass-visible-property-to-False-does-not-work-on-some-machine NavigateComplete 事件似乎也使窗口可见,因此它也应该隐藏在该事件的处理程序中。

【讨论】:

  • 请注意链接底部的评论 - 这可能是问题所在。
  • 查看此链接可能对forums.codeguru.com/… 有所帮助。您可能需要在 NavigateComplete 事件中隐藏它。
  • 还是不行,都试过了。也许在 Win8 中,微软决定始终显示导航功能。唯一有效的是将 -embedded 命令添加到 iexplore.exe (msdn.microsoft.com/en-us/library/…) 它隐藏地打开,但这样我无法实现我想要的。那么有没有办法告诉 c# 在使用 navigation 时运行 iexplore.exe -embedded ?
【解决方案2】:
Dim IDC As Object
Dim IDCWin As Object

Set IE = CreateObject("InternetExplorer.Application")
Set IDC = CreateObject("Shell.Application")

For Each IDCWin In IDC.Windows

    If IDCWin.LocationURL = "YOUR WEBSITE" Then 
        IDCWin.Visible = False

Next IDCWin

这是我使用的,它对我有用。我循环浏览 IE 窗口,当它找到指定的 URL 时,它会隐藏该 IE 实例。我将它用于通过 excel 操作的 Web 应用程序,但我不想在使用过程中对用户可见。我希望这有帮助。

【讨论】:

    【解决方案3】:

    你可以试试 InternetExplorerMedium 吗?这会改变该 IE 实例的完整性/安全性。

    Dim ie As SHDocVw.InternetExplorer
    Set ie = New InternetExplorer**Medium**
    ie.Visible = False
    

    我用_Medium 运行它,它一直被隐藏起来,没有任何其他必要的东西。 今天,我处理了一个系统,必须省略_Medium 才能让我的代码完全运行,当我把它重新调试时,我遇到了同样的问题,它似乎忽略了.Visible = False,除非它是_Medium。

    【讨论】:

      【解决方案4】:

      嗨,我在 excel 中遇到了与 VBA 相同的问题,为了解决它,我不得不从 internetexplorermedium 改回 internetexplorer

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-16
        • 2018-10-12
        • 1970-01-01
        • 1970-01-01
        • 2018-08-22
        • 1970-01-01
        • 2014-01-07
        相关资源
        最近更新 更多