不要使用从VBS打开的IE实例加载注册表更改

时间:2014-07-23 15:18:26

标签: internet-explorer vbscript registry

如果我手动打开一些IE,然后进行注册表更改,当我打开一个新实例时它会显示更改(每个例子是useragent)

如果我在VBS中这样做:

Set ie = CreateObject("InternetExplorer.Application")
ie.navigate "www.download.com"
ie.Visible = True

它会打开IE的新实例,但它不会显示我之前在注册表中所做的更改,为什么?

我正在寻找的是更改代理和/或使用者。 当我在注册表中进行更改后手动打开IE时它工作正常,但如果使用VBS创建新的IE实例则不起作用。

欢迎任何帮助!!

1 个答案:

答案 0 :(得分:0)

您的代码不会创建IE的新实例。记住,IE是一个控制其他IE的IE。

查看子进程如何在命令行中具有父级PID。请参阅嵌入开关(由COM启动的方法)。

CommandLine                                                                   Name          ProcessId  

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" -Embedding                 iexplore.exe  3260       

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" SCODEF:3260 CREDAT:145409  iexplore.exe  2080       

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" SCODEF:3260 CREDAT:145411  iexplore.exe  864        

现在我从开始菜单打开另一个IE。

CommandLine                                                                  Name          ProcessId  

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" -Embedding                 iexplore.exe  3260       

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" SCODEF:3260 CREDAT:145409  iexplore.exe  2080       

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" SCODEF:3260 CREDAT:145411  iexplore.exe  864        

"C:\Program Files\Internet Explorer\iexplore.exe"                            iexplore.exe  2800       

"C:\Program Files\Internet Explorer\iexplore.exe" SCODEF:2800 CREDAT:79873   iexplore.exe  2568       

看到我们现在有两个主机IE,一个是新的,一个是旧的。