2014年10月23日木曜日

VB.NET WebBrowserのバージョンはいくつ?

とあるシステム専用のWEBブラウザーを作るにあたり、VB.NETのWebBrowserコントロールを使用した。

コーディングが完了し、早速Webサイトを表示したらcss3を使用した部分が見事に崩れている。原因は、WebBrowserのバージョンにあった。デフォルトのままでWebBrowserを使用するとie7で動作する。今どきデフォルトがie7とは困ったものだ。

参考までに、WWWサーバー側で取得したブラウザー情報は以下の通り。
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)

バージョンを任意のバージョンに変更するには、
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]に新たに値を追加する。追加する値は、プログラム名=ieのバージョン
例えば、"AcroRd32.exe"=dword:0000270f

私は常に最新版を使用したいので、最大値のdword:ffffffffを指定した。
この時はこれで上手く行ったのだが後日正常に動作しないことがあったので、AcroRd32.exeと同じ値に変更した。これで期待通りに動作した。2014/11/06変更

これで思った通りに表示することが出来た。

補足)
正式な実行プログラム名がhogehoge.exeだとすると、Visual Studioでデバッグ中は実行プログラム名がhogehoge.vshost.exeになるので、レジストリには両方登録しておいた方が便利だよ。

0 件のコメント:

コメントを投稿