自作アプリ

IE11を起動させる(Win11用)

様々なところでサポートが切れようとしているE11ですが、念のため表示や動作を確認しておきたいことがあります。Windows11では標準でIE11がインストールされていますが、iexplore.exeをダブルクリックしてもMicrosoft Edgeが起動する仕様となっています。そこでWindows11でIE11を起動させる方法を調べてみました。

COMオブジェクト経由だと普通に起動可

Officeなどのプログラムの互換性を持たせるためかVBAやPowerShellからInternet Explorerのオブジェクトを作成すると普通に起動できました。

例えば、[Win]キー+Rを押し「ファイル名を指定して実行」を開き、下記のコマンドを入力するとInternet Explorerが立ち上がります。

powershell "(New-Object -COM InternetExplorer.Application).visible=$true"
真っ白なIEが起動

これでWindows11でも、アドレスバーに表示したいURLを入力すると動作や表示を確認することができます。

IEを起動するだけの実行ファイル

上記の項で目的は達成できますが、C++を使って実行ファイルでCOMオブジェクトを生成してIEウィンドウを表示するプログラムを作成してみました。

#include <windows.h>
#import <shdocvw.dll>

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPreInst, LPWSTR pCmdLine, int nCmdShow)
{
	HRESULT hr = CoInitialize(NULL);
	if (SUCCEEDED(hr)) {
		SHDocVw::IWebBrowser2Ptr pIE;
		hr = pIE.CreateInstance(__uuidof(SHDocVw::InternetExplorer));
		if (SUCCEEDED(hr)) {
			pIE->PutVisible(VARIANT_TRUE);
			SetForegroundWindow((HWND)pIE->GetHWND());
		}
	}
	CoUninitialize();
	return 0;
}

プロジェクトを参照
実行ファイルをダウンロードする


何かの参考になりましたら幸いです。

-自作アプリ
-