Internet Explorer 7 で、デフォルト以外のデスクトップの Internet Explorer 7 インスタンスを、アプリケーションでプログラムを使用して列挙できない

重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
322756 Windows XP および Windows Server 2003 でレジストリをバックアップ、編集および復元する方法
現象
次のような状況を考えます。
  • Windows Internet Explorer 7 がインストールされているコンピュータで、新しいデスクトップを作成します。
  • このデスクトップで開かれている Internet Explorer 7 インスタンスを、アプリケーションでプログラムを使用して列挙します。
この状況で、これらの Internet Explorer 7 インスタンスをアプリケーションで正しく列挙できません。

: この問題は、Microsoft Internet Explorer 6 では発生しません。
原因
この問題は、Internet Explorer 7 の動作の変更が原因で発生します。

Internet Explorer 6 では、ShellWindows オブジェクトは次の CLSID に関連付けられています。
{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
このオブジェクトは、各デスクトップに対して存在する COM ローカル サーバーです。CoCreate 関数を使用して ShellWindows インスタンスを作成する場合、インスタンスを作成するデスクトップ上のサーバーにインスタンスがバインドされます。そのため、すべてのデスクトップの Internet Explorer 6 ウィンドウをアプリケーションで列挙できます。

Internet Explorer 7 では、RunAs レジストリ エントリを格納する
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\
サブキーが追加され、RunAs レジストリ エントリの値が Interactive User に設定されています。この Internet Explorer 7 の動作の変更により、ShellWindows インスタンスをデフォルトのデスクトップ以外で作成する場合でも、インスタンスはデフォルトのデスクトップ上のサーバーにバインドされます。
回避策
警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。

Windows XP および Windows Server 2003 での回避策

Windows XP または Windows Server 2003 でこの問題を回避するには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に regedit と入力し、[OK] をクリックします。
  2. 次のレジストリ サブキーを見つけてクリックします。
    HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
  3. AppID レジストリ エントリを削除します。
  4. レジストリ エディタを終了します。

Windows Vista での回避策

Windows Vista でこの問題を回避するには、以下の手順を実行します。
  1. Internet Explorer 用の累積的なセキュリティ更新プログラム MS07-033 (KB933566)、またはこれ以降の Internet Explorer 用の累積的なセキュリティ更新プログラムをインストールします。累積的なセキュリティ更新プログラム MS07-033 の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    933566 [MS07-033] Internet Explorer 用の累積的なセキュリティ更新プログラム
  2. 更新プログラム KB935855 をインストールします。

    • この更新プログラムによって、Internet Explorer 7 をデフォルト以外のデスクトップで実行できるようになります。
    • この更新プログラムをインストールすると、次のレジストリ サブキーの下に FEATURE_MULTI_DESKTOP レジストリ エントリが追加されます。
      HKLM\Software\Microsoft\Internet Explorer\Low Rights
      このレジストリ エントリの値は 1 です。
    • 更新プログラム KB935855 をインストールすると、次のレジストリ サブキーの下に AppIDFlags レジストリ エントリが追加されます。
      HKLM\Sofware\Classes\AppID\{60EE1F45-C0DD-4A1F-AA44-D97424600A16}
      このレジストリ エントリの値は 1 です。
  3. コンピュータを再起動します。
状況
この動作は仕様です。
詳細
デスクトップは、論理的な表示画面を持つセキュリティ保護可能なオブジェクトです。デスクトップには、ウィンドウやメニューなどのユーザー インターフェイス項目が含まれています。詳細については、以下の MSDN (Microsoft Developer Network) Web サイトを参照してください。AppID レジストリ エントリの詳細については、以下の MSDN (Microsoft Developer Network) Web サイトを参照してください。
プロパティ

文書番号:940998 - 最終更新日: 01/31/2008 04:31:00 - リビジョン: 1.1

Windows Internet Explorer 7 for Windows XP, Windows Internet Explorer 7 for Windows Server 2003, Windows Internet Explorer 7 in Windows Vista

  • kbtshoot kbprb kbexpertiseadvanced KB940998
フィードバック