2

私は Internet Explorer 内のリンクからいくつかのソフトウェアをインストールするスクリプトを作成していますが、残念ながらこのサイトでは 32 ビットの Internet Explorer が必要です。64 ビット マシンで 32 ビットの Internet Explorer ウィンドウを強制的に開く方法はありますか? スクリプトは、32 ビット マシンから実行すると正常に動作します。

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

5 に答える 5

4
$url = "http://www.google.com"
$shell = New-Object -ComObject WScript.Shell
$shell.Exec("C:\Program Files (x86)\Internet Explorer\iexplore.exe $url") | Out-Null
于 2012-06-27T13:23:59.320 に答える
1

1 つの解決策は、フォルダー (C:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exe)powershell.exeの下のフル パスを使用して 32 ビット バージョンを明示的に起動し、スクリプトを実行することです。SysWOW64

于 2012-06-27T13:20:22.783 に答える
-1

PowerShellの答えはわかりませんが、Cではに渡さCLSCTX_ACTIVATE_32_BIT_SERVERCoCreateInstanceます。おそらく、それをPowerShell-landに変換する方法を知っていますか?

注:これを行うコードには、「32ビットXPにこのフラグが存在すると、呼び出しが失敗します」というコメントがあります(その後、MicrosoftのAPI開発者に向けられた暴力の脅威がいくつかありますが、ここでは公開しません) 。コードは、64ビットWindowsで実行している場合にのみフラグを追加します。

于 2012-06-27T13:08:40.450 に答える
-1

問題の最も簡単な解決策は、Powershell を 32 ビットで起動することです。

発売

Windows Powershellx86

C:\Windows\syswow64\Windowspowershell\v1.0\powershell.exe
于 2014-12-12T09:03:22.260 に答える