我正在尝试以隐形方式导航,尝试过这个
SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
IE.Visible = false;
IE.Navigate("http://example.org");
有效,但是,它实际上显示了 IE 窗口。隐藏 IE 窗口的最佳方法是什么?
我正在尝试以隐形方式导航,尝试过这个
SHDocVw.InternetExplorer IE = new SHDocVw.InternetExplorer();
IE.Visible = false;
IE.Navigate("http://example.org");
有效,但是,它实际上显示了 IE 窗口。隐藏 IE 窗口的最佳方法是什么?
来自文档:“第一次创建 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 事件也使窗口可见,因此它也应该隐藏在该事件的处理程序中。
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 应用程序,但我不想在使用过程中对用户可见。我希望这有帮助。
你可以试试 InternetExplorer Medium吗?这会改变该 IE 实例的完整性/安全性。
Dim ie As SHDocVw.InternetExplorer
Set ie = New InternetExplorer**Medium**
ie.Visible = False
我用 运行它_Medium
,它一直被隐藏起来,没有任何其他必要的东西。今天我处理了一个系统,它_Medium
必须被省略才能让我的代码完全运行,当我把它重新调试时,我遇到了同样的问题,它似乎忽略了它,.Visible = False
除非它是 _Medium。
嗨,我在 excel 中遇到了与 VBA 相同的问题,为了解决它,我不得不从 internetexplorermedium 改回 internetexplorer