Internet explorer 强制32位internet explorer共对象

Internet explorer 强制32位internet explorer共对象,internet-explorer,powershell,32bit-64bit,comobject,Internet Explorer,Powershell,32bit 64bit,Comobject,我正在编写一个脚本,应该从internet explorer中的链接安装一些软件,不幸的是,该站点需要32位internet explorer才能工作。有没有办法在64位机器上强制打开32位internet explorer窗口?在32位机器上运行时,脚本工作正常 $ie = New-Object -ComObject InternetExplorer.Application $ie.Navigate2($url) $ie.Visible = $true 我不知道PowerShell的答案,但

我正在编写一个脚本,应该从internet explorer中的链接安装一些软件,不幸的是,该站点需要32位internet explorer才能工作。有没有办法在64位机器上强制打开32位internet explorer窗口?在32位机器上运行时,脚本工作正常

$ie = New-Object -ComObject InternetExplorer.Application
$ie.Navigate2($url)
$ie.Visible = $true

我不知道PowerShell的答案,但在C语言中,您可以将
CLSCTX\u ACTIVATE\u 32位\u SERVER
传递到
CoCreateInstance
。也许你知道如何把它翻译成PowerShell land


注意:在我编写的代码中,有一条评论:“32位XP上出现此标志会导致调用失败”(接下来是一些针对Microsoft API开发人员的暴力威胁,我不会在这里发布)。代码只在64位Windows上运行时添加标志。

我不知道PowerShell的答案,但在C语言中,您可以将
CLSCTX\u ACTIVATE\u 32位\u SERVER
传递到
CoCreateInstance
。也许你知道如何把它翻译成PowerShell land


注意:在我编写的代码中,有一条评论:“32位XP上出现此标志会导致调用失败”(接下来是一些针对Microsoft API开发人员的暴力威胁,我不会在这里发布)。代码仅在64位Windows上运行时添加标志。

一种解决方案是使用
SysWOW64
文件夹(C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe)下的完整路径显式启动
32位版本然后运行脚本。

一种解决方案是使用
SysWOW64
文件夹(C:\windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe)下的完整路径显式启动
powershell.exe
32位版本并运行脚本。

解决问题的最简单方法是以32位启动powershell

$url = "http://www.google.com"
$shell = New-Object -ComObject WScript.Shell
$shell.Exec("C:\Program Files (x86)\Internet Explorer\iexplore.exe $url") | Out-Null
发射

Windows Powershellx86
路径


解决问题的最简单方法是以32位启动Powershell

发射

Windows Powershellx86
路径


应该注意的是,MSIE的位级别在很大程度上取决于版本。IE9有单独的32/64位版本,可以独立执行,但IE10+是完全64位核心(在64位系统上),其子进程可以基于逻辑树以32位或64位运行页面(参见下面的链接)。增强保护模式(EPM)可以强制不受信任的站点以64位全模式运行(有关详细信息,请参阅下面的文章)。这导致许多附加组件与EPM不兼容,例如Adobe Reader的浏览器查看器,在v11.0.7之前,它没有支持64位的组件(EPM强制执行64位)


我不知道如何实现您想要的目标,但上面的信息可能会帮助您避免陷阱。

应该注意的是,MSIE的位级别在很大程度上取决于版本。IE9有单独的32/64位版本,可以独立执行,但IE10+是完全64位核心(在64位系统上),其子进程可以基于逻辑树以32位或64位运行页面(参见下面的链接)。增强保护模式(EPM)可以强制不受信任的站点以64位全模式运行(有关详细信息,请参阅下面的文章)。这导致许多附加组件与EPM不兼容,例如Adobe Reader的浏览器查看器,在v11.0.7之前,它没有支持64位的组件(EPM强制执行64位)


我不知道如何实现您的目标,但上述信息可能会帮助您避免陷阱。

您的答案与@CB提供的答案之间是否有任何差异。?您的答案与@CB提供的答案之间是否有任何差异。?