雨後の竹の子状態 
そーゆーことで,OS 自体のバージョンは,なんとかうまく取得できるようになりました。
余談ですが,最後の方では,自らのマシンのレジストリをいじり,
疑似 Windows95 にしてみたり,疑似 Windows95 OSR 2.5 にしてみたりと,
かなり危ない橋を渡りました(爆笑)

ま,たとえばの話,インストールの時に Windows9x の××以上でないと,
インストーラーでこける,なんてことがあるならば,
レジストリ書き換えちゃいいんだ,なんて発想も出てきたり(笑)
よーするに,そゆアプリも,レジストリの例の部分を見てるわけで,
だったら,そこを書き換えてやれば,今日からあなたの Windows も,
最新バージョンの Windows に早変わりってわけね(爆笑)
# よい子は真似しないでください(汗)

で。
OS 判定は OK として。
今度は Internet Explorer の判定。
かき集めた資料。
こんなに Internet Explorer のバージョンがあるのかぁ,と
感動することしばし。
# その「感動」が,しだいに「怒り」となるのだけども(爆笑)

それにしても,やっかいっちゅーか,面倒(笑)
なんたって,規則性が無いからね。
せっせと,if 文で振り分けていく。
タイプミスが命取りになるので慎重に。
これで,Internet Explorer4.x と 5x については完璧。
Internet Explorer3x は,とりあえず,保留として。
その他のバージョンの Internet Explorer でいいか(笑)
てな感じでやってました。
が。
しかし。
あれほどかき集めた情報なのに,
何故か「その他のバージョンの Internet Explorer」になってしまうInternet Explorer5.01 が発覚(爆笑)
えーなんでだよぅ(涙)
それが,Windows2000 をつかっている人からの投稿で判った。

…。
…。
すっごい,いやな予感…。
まさかと思うけれど,WindowsNT 系の Internet Explorer ってのは,
Windows9x と同じ Internet Explorer のバージョンでも,番号違うのか… !?
だとしたら,どうするんだーっっっ(絶叫)。
教えてもらった謎のバージョン番号を元に,ネットで検索。

ぅっわああああああ。
恐れていたことが現実に。
同じ 5.01 でも,数種類あるぞ,ぉぃっっ !?

ざざ〜。
また血の気が引く(汗)

出て来る出て来る,雨後の竹の子状態のInternet Explorer(涙)

でもネバーギブアップ(笑)
ってことで,またまた調べて,いろんなバージョン違いの情報を集める。

これで,未対応のものがかなり減ったはず。
うん。

よし,ここまで来たら,やってやろーぢゃん。
3.x も,2.x も,1.x も(爆笑)
見てろよ,Internet Explorer !
絶対に暴いてやるからなあああああ!(宣戦布告)

…とまぁ,そんな感じで調べられるものは調べてソースに組み込みました。
# 別にそこまでする必要もないのだけれど,
# こうなったら根比べってやつっすね(笑)

もー,これで大丈夫だろうと,思ったので,TeamTeraPad-ML に流してみる。
ここは,TeraPad 関係のツールを作っている人たちや,
プログラミングに興味のある人たちの集まりの ML なので
かなりつっこんだレベルの話が出来るんである(笑)

WindowsNT 系の 5.01 判別は OK だった。
ついでに,まだほとんど行き渡っていないであろう,
Internet Explorer6.0 Public Release も判定出来る様にした。
先手必勝(笑)

ところがどっこい,今度は 3.x 判定がボロボロだぁっ(爆笑)

なんでだ,なんでだ,ちゃんと調べたじゃないか(涙)
C さんも,調べてくれたらしく,曰く
「3x だと "Version" がないですね。"Build" だけみたい…」

なんやとぉおおおおお(絶叫)。

またかいっ,レジストリにのってへんのかいっ(涙)
ちゅーことで,今度は新たに振り分けをもうけて,
もしも,最初の段階で "Version" 自体が無ければ,
それは,問答無用で 3x と判定し,すっとばし,
"Build" で判別しなおし,としてみた。

# もう,このあたりから,ソースは,わやわや,
# スパゲティどころか,猫が絡んで遊んだ毛糸玉状態(爆笑)

Internet Explorer 関係の苦難は,それでも終わらない。
Internet Explorer5.01 の SP2 がこの間出てたんだけど,
それにも対応したはずが,どーもうまく判定出来てない。
げぅ(涙)
念のため "Version" の値を聞いてみたら,げげげっげ。
前に別の人から聞いたのと違う値じゃないか!
# そりゃ,判別でけんわ。

Internet Explorer5.01 の SP2 ,日本語版。
実は,正式に発表される前から,ひそっとサーバーに上がっていたのを,
知っている人は知っていると思う。
ML や掲示板などでも,出てます〜と,ファイルへの直リンクが書かれてた。
ただ,Microsoft のサイトには公式にはどこにも書かれてなかったのだ。
で,でるが最初に SP2 の "Version" を聞いたのは,このひそっと上がっていたのを
入れた人から。
で,今回は,正式にアナウンスされたのを入れた人から。

で,だ。
違うんだよ(爆笑)<"Version" が
ってことは,公式アナウンス版は,最初にひそっと上がってたやつに,
たぶん手が加えられてるんだろうな。(←推測ですけど)。
ぅーむ。
なんちゅーか,やっぱり恐るべし Microsoft っちゅ感じで(笑)
ということで,両方とも Internet Explorer5.01SP2 なのに,
"Version" が違うというのにも,対処してみたり(笑)

やれやれ。ですね。

結局今回,この Internet Explorer の判別を通して,
いろんなことがわかった。
まとめてみると,

* 同じバージョン(たとえば 5.01)と一口に言っても,
 実は同じではなく,「○○に付属の 5.01」など,微妙に "Version" が違うこと。
 # "Version" が違うってことは,中身もやっぱりどこか違うんだろうなぁ。
* 9x 系と NT 系は同じバージョンでも "Version" が違うこと。
* チョー素 Windows95 には,元から Internet Explorer すら入って無いこと。
 (これには,びっくりしたけど)
* Internet Explorer の 3.x 以前には,レジストリに "Version" は無く,
 "Build" で判断しないといけないこと。
* Internet Explorer5.01 の SP2 といっても,実は 2 種類あること。
* Windows95OSR2 に入っている Internet Explorer3.0 は NT4x86 版に入っているものと,
 同じ "Build" であること。

などなど,である。
ねー,こんなの全然知らないよねー。

そんなこんなで,たぶん Internet Explorer 関係もクリア。
TpVer を使って,UnknownVersion って出てきたら,
それは,かなり「レア」な Internet Explorer です(爆笑)
# でるに,こっそり教えてください(笑)

さぁて,大詰め大詰め。
TpVer も,やっとこ胸を張って出ていけるか !?
と思いきや。

まだ,あるんです(涙)
Microsoft の陰謀が(爆笑)

ということで,次回に続く,んである(笑)

本日の感想 たいがいにせぇよ…(怒)>Internet Explorer

April 20, 2001