◆そんなわけで,初っぱなから思っきりコケまくった
TpVer 。
ML で公開した後だったのであわてて公開ストップ。
どーにかして,Windows95 を判定するためのバージョン情報を集めてこなくてはならない。
とりあえず,うちの旧マシンで,
VersionNumber=4.00.1111
SubVersionNumber=" B"
なら,Windows 95 (OSR バージョン 2.0 or
2.1)は確かめられた。
じゃ,素 Windows95 ,Windows95 (サービスパック
1)や,
Windows95 (OSR 2.5)は???
VersionNumber は一緒で,SubVersionNumber
だけが違うのか?
いや,それとも,もしかして,全部 VersionNumber
が違うのか !?(半泣)
これは,もう ML のみなさんに協力を仰ぐしかない。
あなたのお使いの OS の,システムのプロパティに出て来る番号と,
レジストリに書かれた番号を教えてください…。
ということで,みなさんのご協力の甲斐あって,
そろえることが出来たバージョン情報。
いぁ。
まったく,Windows ってやつゎ(涙)
◆結果を書いておきますと,
4.00.950 なら Windows95 ,
4.00.950a なら Windows95 にサービスパックを入れたもの,
ここまでは,システムのプロパティと同じなんだけど,
4.00.1111 A なら Windows95 OSR2.0
4.00.1212 か 4.03.1212で B なら Windows95
OSR2.1
4.03.1212 C なら Windows95 OSR2.5
てなことになった。
システムのプロパティと同じ数字が使われているものもあるわけで,
つまりは,OSR とつくものだけが,どーもシステムのプロパティとレジストリの値が違ってるらしい。
その一貫性のなさは何なんだっっ(怒)。
とにかく,みなさんのご協力で集まった情報。
さっそく,ソースに組み入れる。
ああ,if 〜 else の嵐。
「} が閉じられてません!」とかって HSP のコンパイラから叱られながらも,
(でる,多いんです(笑)このミス),がんばって仕上げてみます(涙)
何とか出来ました。
旧マシンでも動きました。
◆ちょうどそれと平行して,WindowsNT でのレジストリの位置を,
ML の方が調べてくださいました。
当初の TpVer では,Windows95/98/ME のみで,
WindowsNT 系では使えませんってことにしてたのね。
というのも,当然レジストリの位置が違うだろうし,
NT のバージョンがどれだけあるのか,とか,
そいう情報が無かったから。
でも,WindowsNT/2000 の方はもう少し話が簡単で,
"ProductName" と "CurrentVersion"
と "CSDVersion" で,
判断できるんじゃないかってなことになりました。
ま,ここにも,Windows2000 には "ProductName"
があるのに,
WindowsNT には,"ProductName" が無いとか,
困難があったわけですが(爆笑)
とりあえず,Windows9x よりもマシ(笑)<判別のソース
さぁて,これで動きましたよ,TpVer 。
やっとこ胸を張って公開だぁああ。
:
:
:
えぇ(笑)
すんなりいくと思ったらまたまた大間違い(爆笑)
まだまだ,ぼろぼろ出て来るんです,不具合が(笑)
ということで,まだまだ続く,んである(爆笑)
| 本日の感想 |
一貫性を持ってください(涙)>Windows様 |
April 20, 2001