日々のコンピュータ情報の集積と整理

Dr.ウーパのコンピュータ備忘録

2014年12月15日月曜日

現在使用しているInternet Explorerのバージョンをテキスト形式で取得したい

イントロダクション

Web サイトの動作確認をする上で、ブラウザのバージョンは重要な情報です。

そのブラウザのバージョン情報ですが、可能ならばなるべく手軽に記録できると有り難いものです。




Chrome Firefox のバージョン情報は、ブラウザのソフトウェア上でテキスト情報としてコピー可能です。

Chrome のバージョン情報 「Ctrl + C」ショートカットや「右クリックメニューのコピー」で、 バージョン情報をテキスト情報としてコピー可能
Chrome のバージョン情報
「Ctrl + C」ショートカットや「右クリックメニューのコピー」で、
バージョン情報をテキスト情報としてコピー可能

Firefox のバージョン情報 「右クリックメニュー」ではコピーできないが(右クリックをしてもメニューが表示されないため)、 「Ctrl + C」ショートカットで、 バージョン情報をテキスト情報としてコピー可能
Firefox のバージョン情報
「右クリックメニュー」ではコピーできないが(右クリックをしてもメニューが表示されないため)、
「Ctrl + C」ショートカットで、
バージョン情報をテキスト情報としてコピー可能


そのため、手軽にバージョン情報を記録できます。

しかしながら、Internet Explorer の場合、ブラウザのソフトウェア上ではテキスト情報としてコピーすることができません。

Internet Explorer 9 のバージョン情報 バージョンの部分が選択不可のため、テキスト情報としてコピーすることができない
Internet Explorer 9 のバージョン情報
バージョンの部分が選択不可のため、テキスト情報としてコピーすることができない


しかも、そのバージョン情報を含めて、「Internet Explorer のバージョン情報」ダイアログは1枚のウィンドウの上に情報が描画されているだけなので、Spy++(*1)のようなツールを使用してウィンドウキャプションを取得するような方法でも、情報を取得することができません。

*1:
Spy++ は、Windows アプリケーションの開発者向けのツールです。
表示されているウィンドウに関しての情報取得などを行うことができます。

詳しくは以下の文献を参照してください。



これは推測ですが、バージョン情報を表示している部分と、Internet Explorer で Web ページをレンダリングする部分は同じクラス名のウィンドウを使用しているため、バージョン情報の表示は HTML のようなものをベースとして行われているのではないでしょうか。(*2)

*2:
ウィンドウのクラス名については、以下の文献を参照してください。




バージョン情報を"手入力"で書き写すのは手間がかかる上に、写し間違いが発生する可能性があります。

そこで、Internet Explorer のバージョン情報を特殊なソフトウェアを使用せず標準状態で取得できる方法について調査しました。


Internet Explorer のバージョン情報をテキスト情報としてコピーする

Internet Explorer のバージョン情報を確認する方法として、Microsoftのサポート情報の中に、以下の方法が記載されています。

Internet Explorer のバージョンに関する情報
http://support.microsoft.com/kb/969393/ja


記載されている 3 つの方法を要約して列挙します。

  • Internet Explorer のバージョン情報で確認
  • レジストリの値で確認
  • ファイルのバージョンで確認


各確認方法の比較

Internet Explorer のバージョン情報で確認

この方法でバージョンを確認するのが一般的でしょう。

しかし、上記で記載したように、バージョン情報ダイアログ上では、バージョンをテキスト情報としてコピーすることができません


レジストリの値で確認

Internet Explorer のバージョンはレジストリ内にも記載されているようです。

この方法でなら、バージョンをテキスト情報として取得することが出来そうです。


ただし、本文中に以下のように書かれているように Internet Explorer 10 では、version が Internet Explorer 9以前とは異なり、srcVersion がバージョンを示していることに注意が必要です。

引用 ここから
注: Internet Explorer 10 の "version" 文字列値は 9.10.9200.16384 で、"svcVersion" 文字列値は 10.0.9200.16384 です。
引用 ここまで

ファイルのバージョンで確認

Internet Explorer 3.0 ~ 6 では Shdocvw.dll、Internet Explorer 7 では Iexplore.exe のバージョンを確認することで、Internet Explorer のバージョンを確認できるようです。

しかしながら、dll や exe のファイルのプロパティのバージョン情報をテキスト情報としてコピーすることはできませんでした。

iexplore.exe のファイルの詳細における製品バージョン
iexplore.exe のファイルの詳細における製品バージョン


しかも、私の環境で確認したところ、Internet Explorer 9 では、バージョン情報ダイアログに表示されるバージョン(9.0.8112.16421)と、この iexplore.exe のファイルの詳細における製品バージョン(9.0.8112.16599)の最後の部分が一致していません。

この方法でバージョン情報を取得する時には注意が必要です。


なお、標準ではファイルのバージョンを文字情報として取得することはできませんが、ツール(filever.exe)を使用すればファイルのバージョンを文字情報として取得することが出来そうです。

@IT:Windows TIPS -- Tips:バイナリ・ファイルのバージョンを調べる
http://www.atmarkit.co.jp/fwin2k/win2ktips/316filever/filever.html

徒然なるままに コマンドラインからバイナリファイルのバージョン情報を調べる
http://norimaki2000.blog48.fc2.com/blog-entry-665.html


レジストリの値で確認

以上、Internet Explorerのバージョンを取得する 3 つの方法について列挙しましたが、標準の環境でバージョンをテキスト情報として取得できるのは、レジストリの値で確認する方法だけでしょう。

そこで、実際にレジストリにアクセスして、Internet Explorerのバージョン情報を取得してみます。


レジストリエディタを使ってInternet Explorerのバージョン情報を取得する

!注意!

レジストリエディタを使用すると、Windows や 各種アプリケーションが記録している情報の表示・編集・削除を行うことができます。

値の編集や削除を行うと、アプリケーションが正常に動作しなくなったり、Windows が正常に動作しなくなったりするなど、大きな影響があります。

レジストリの値の編集・削除を行わないように注意してください。


手順

Windows のスタートメニューの「ファイル名を指定して実行」にて、「regedit」と入力して OK 押します。

すると、レジストリエディタが起動するので、左側の階層構造を操作して、以下のパスにアクセスします。

アクセスするパス:
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer

レジストリエディタ パス:HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer Version
レジストリエディタ
パス:HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
Version

すると、右側の値一覧の中に、Version という文字列が見つかります。
(Internet Explorer 10 では、srcVersion がバージョンを示しています。)

その部分をダブルクリックすると、その部分の値を表示することができます。

レジストリエディタ:文字列の編集 値の名前:Version 値のデータ:9.0.8112.16421  値のデータをコピーすることが出来る。
レジストリエディタ:文字列の編集
値の名前:Version
値のデータ:9.0.8112.16421

値のデータをコピーすることが出来る。


あとは、値のデータの部分をコピーすれば、Internet Explorer のバージョンをテキスト情報としてコピーすることができます。

コピーした Internet Explorer のバージョン情報:
9.0.8112.16421


bat ファイルを作成して、簡単に Internet Explorer のバージョンを確認できるようにする

上記で紹介したレジストリエディタを使用する方法で、Internet Explorer のバージョンをテキスト情報としてコピーすることが出来ました。

しかしながら、この方法には以下の問題点があります。

  • レジストリのパスを覚えておかないといけない
  • 目的のレジストリの値にアクセスするために、何層もレジストリのキーを開く必要がある
  • 操作ミスによって、レジストリの値を変更・削除する危険性がある


そこで、bat ファイル(バッチファイル)を作成し、その bat ファイルを実行するだけで、簡単に Internet Explorer のバージョンのテキスト情報にアクセスできるようにします。


Internet Explorer のバージョン取得用 bat ファイルの作成手順

(1) テキストエディタに以下のコマンドを張り付ける
メモ帳などのテキストエディタに以下のコマンドをそのまま貼り付けます。

reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v Version > "ie_version.txt"
reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v svcVersion >> "ie_version.txt"


メモ帳に張り付けたコマンド
メモ帳に張り付けたコマンド


なお、この bat ファイルの詳しい説明は、次のページを参照してください。

Internet Explorerのバージョンをレジストリから取得するバッチファイルについて
http://upa-pc.blogspot.com/2014/12/get-internet-explorer-version-bat.html


(2) bat ファイルとして保存
ファイル名を「getIEVersion.bat」、ファイルの種類を「すべてのファイル(*.*)」として、自分自身の使いやすい任意のフォルダに保存します。

張り付けたコマンドを名前を付けて保存 ファイル名:「getIEVersion.bat」 ファイルの種類:「すべてのファイル(*.*)」
張り付けたコマンドを名前を付けて保存
ファイル名:「getIEVersion.bat」
ファイルの種類:「すべてのファイル(*.*)」


なお、Internet Explorer のバージョン情報は、"ie_version.txt" というファイル名で同じフォルダ内に保存されます。

そのときに、フォルダ内に "ie_version.txt" というファイルが既に存在する場合には、上書きされてしまうため、同じファイル名のファイルが存在しないフォルダに保存してください。


Internet Explorer のバージョン取得用 bat ファイルの実行手順

(1) 「getIEVersion.bat」をダブルクリック
「getIEVersion.bat」をダブルクリックして、コマンドを実行します。

エクスプローラー上の「getIEVersion.bat」ファイル
エクスプローラー上の「getIEVersion.bat」ファイル


(2) 「ie_version.txt」を開く
bat ファイル内のコマンドの実行が正常に終了すると、フォルダ内に "ie_version.txt" というファイルが作成されます。

フォルダ内に "ie_version.txt" というファイルが作成される。
フォルダ内に "ie_version.txt" というファイルが作成される。


"ie_version.txt" に Internet Explorer のバージョンが出力されているので、そのテキストファイルをメモ帳などで開きます。


私の環境では、次のような内容が保存されています。

HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
    Version    REG_SZ    9.0.8112.16421


HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer
    svcVersion    REG_SZ    9.0.8112.16421


Internet Explorer 9 以前と、Internet Explorer 10 の両方の場合に対応できるように、Version と svcVersion の両方を出力しています。


これで、手軽・簡単に、Internet Explorer のバージョンをテキスト情報として取得できるようになりました。


Internet Explorer のバージョンは、Windows Update などにより、セキュリティのアップデートなどを適用すると変更されます。

そのため、現在使っている Internet Explorer のバージョンを得る必要があるときに、その都度 「getIEVersion.bat」を実行して最新のバージョンを取得する必要があります。


まとめ

Windows の標準の環境において、Internet Explorerのバージョンをテキスト形式で取得するには、レジストリに記録されている情報を取得する方法があります。

上記で作成した bat ファイルを使用することで、手軽・簡単にInternet Explorer のバージョンをテキスト情報として取得できます。






関連記事

関連記事を読み込み中...

同じラベルの記事を読み込み中...