为什么CreateObject(“InternetExplorer.Application”)创建两个iexplorer.exe进程?

时间:2010-12-06 15:13:23

标签: com vbscript

我有一个使用InternetExplorer对象的vbscript导航到几个页面并将数据传递给这些页面。最近自修补IE8以来,我注意到有些东西导致了僵尸iexplore.exe进程的创建。在运行我的脚本并在任务管理器中查看进程列表时,我注意到当我的脚本创建InternetExplorer.Application对象时,进程列表中会出现两个进程。这是正常的行为吗?为什么会这样?我想知道,因为即使在我的测试期间,当我调用InternetExplorer对象的退出方法时,这两个进程似乎都被杀死了,我仍然怀疑这些多个进程是僵尸的根本原因。

以下是一些示例代码:

Set ie = CreateObject("InternetExplorer.Application")

ie.Navigate2 "Address"
ie.AddressBar = 1 
ie.Toolbar = 1 
ie.StatusBar = 1 
ie.Width = 600 
ie.Height = 400 
ie.Left = 300 
ie.Top = 150    
ie.Visible = 1

Do While ie.Busy
        WScript.Sleep 1
Loop

ie.Navigate2 "Address?variable=value"

Do While ie.Busy
        WScript.Sleep 1
Loop

...rest of code...
ie.Quit
Set ie = Nothing

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分:-1)

使用createobject启动MsAccess时,我遇到了类似的问题。任务列表中会出现两个进程,并且两个进程都会退出quit命令。

但是,如果在会话期间发生导致程序崩溃的某些问题,则只有其中一个进程会关闭。

这必须是某些Microsoft系统功能。