我正试图导航,即无形,尝试了这个
SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
IE.Visible = false;
IE.Navigate("http://example.org");
但是,它实际上显示了IE窗口。隐藏IE窗口的最佳方法是什么?
答案 0 :(得分: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事件也使窗口可见,因此它也应该隐藏在该事件的处理程序中。
答案 1 :(得分: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应用程序,但我不希望在使用过程中对用户可见。我希望这有帮助。
答案 2 :(得分:0)
您可以尝试InternetExplorer 中吗?这会更改该IE实例的完整性/安全性。
Dim ie As SHDocVw.InternetExplorer
Set ie = New InternetExplorer**Medium**
ie.Visible = False
我用_Medium
运行它,并且它一直隐藏着,没有其他必要的东西。
今天,我处理了一个必须省略_Medium
才能完全运行我的代码的系统,当我将其重新调试时,我遇到了一个同样的问题,即它似乎无视.Visible = False
,除非是_Medium。
答案 3 :(得分:0)
嗨,我在 Excel 中使用 VBA 时遇到了同样的问题,为了解决它,我不得不从 internetexplorermedium 改回 internetexplorer