0

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

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

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

4

4 回答 4

3

来自文档:“第一次创建 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 事件也使窗口可见,因此它也应该隐藏在该事件的处理程序中。

于 2015-08-28T14:03:24.073 回答
0
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 应用程序,但我不想在使用过程中对用户可见。我希望这有帮助。

于 2016-07-14T14:22:54.473 回答
0

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

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

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

于 2018-08-09T14:09:13.157 回答
0

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

于 2021-05-05T23:32:06.697 回答