◆自分が使っている Windows のバージョンを正確に答えましょう,
と言われたら,答えられます?
例えば WindowsMe 。これは一種類。
次に,Windows98 。
これには,Windows98 と Windows98SE とある。
じゃ,Windows95 。
一番初期の Windows95 ,サービスパックを入れた
Windows95 ,
えーと,それから,プリインストールマシンに入ってた
Windows95 ,
そんくらい?
でも,実はプリインストールマシンに入っている
Windows95 って,
OSR2.0 ,OSR2.1 ,OSR2.5 って 3 種類あったりする(笑)
自分のマシンに入っている Windows が何かっていわれて,
Windows95 の人などは悩むんじゃないかなと思う。
それがどこで判るかというと,システムのプロパティというのを見ると,
実は判るようになっていて,
4.00.950 なら Windows95 ,
4.00.950a なら Windows95 にサービスパックを入れたもの,
4.00.950 A なら Windows95 OSR2.0
4.00.950 B なら Windows95 OSR2.1
4.00.950 C なら Windows95 OSR2.5
なのだね。
でるがつかっている新マシン。
Windows98SE は,4.10.2222 A 。
この番号をみないと,ただ単に Windows98 って書いてあっても
SE なのか,そうじゃない Windows98 なのかはわかんない。
さて。
いつも通り長い前フリだけども(笑)
本編に行く前に,Windows のバージョンっていろいろあるんだなぁ,と
思っておいてほしい(笑)
◆じゃ,Internet Explorer 。
これは,どうだろう。
Internet Explorer5.0 とか 5.5 とか,4.0 とか…。
でもこれがまた,各バージョンでも,いろいろ分かれてたりする。
同じ Internet Explorer5.0 といっても,
ふつーの Internet Explorer5.0 ,
Office 2000 に付属の Internet Explorer5.0
,
Windows 98 SE の Internet Explorer5.0 なんて風に,
実はそれぞれ違ってたりするのだ。
これらバージョン番号はどこに載ってるかってゆっと,
Internet Explorer 立ち上げてヘルプからバージョン番号を見ればよいのだけど,
この Internet Explorer のバージョン番号の多さは,さっきのWindows
の種類の比じゃない。
もっともっと多い。
…ってなことも,本編に行く前に覚えておいてほしい(笑)
ということで。
本編なのだけど。
◆今まで,でるが作ってきたアプリというのは,
どれも一発芸で,今回作ろうとしたのも,ご多分に漏れず(笑)
一口で言うと,今自分が使っている Windows
のバージョン,
Internet Explorer のバージョン,んでもって,エディタのバージョン,
等々を一発で取得して,クリップボードに格納,というものである。
そんなの何の役に立つ??と思うと思うんだけど(笑)
ことの発端は,TeraPad の ML で TeraPad の動作確認をしているときだった。
どーも,Windows のバージョンと,つかっている
IME の種類,バージョンによって,
動いたり動かなかったりってのが起こってて,それを環境かえて試してたのね。
で,この環境では動作確認しましたとかって,自分の環境を書くときに,
面倒になったのだ(爆笑)
# そう,いつだって でるがアプリを作ろうと思い立つのは,
# もうちょっと楽に出来ひんかなぁ?がきっかけである(笑)
で,それなら,Windows のバージョンとか引っ張ってきて,
クリップボードに格納するアプリ作ればいいぢゃん♪なんて思いまして,
作り始めたってわけ。
思いつくのは簡単,実行に移してからが,てんやわんや,というのは,
いつものパターンなのであるが(笑)
◆さて。
Windows のバージョン,こゆのがどこにあるかというのは,
レジストリ,だと思いつく。
いろいろ資料を調べてみたけど,ここにあります,というのが
見つからなかったので,じゃ,検索したらいいかぁ,と,検索してみた。
そのとき,新マシンでやってたので,Windows98SE
。
さっき上に書いたように,システムのプロパティで,
4.10.2222 A と出るわけだから,この番号がどこかにあるはずだ。
とりあえず,A てのは外して,4.10.2222 でレジストリに検索をかける。
すぐにヒット(笑)
ふふ〜ん,今回楽勝じゃん♪(←と思った,大バカもの(笑))。
キーの在処は
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion]
Version="Windows 98"
VersionNumber=4.10.2222
SubVersionNumber=" A "
なるほどね。
てことは,Windows95 の場合は,同じように
4.00.950 などにかえて考えれば OK か。
(これが後々「痛い目」に合うきっかけとなることなど,
このときの でるは知るよしもなしってやつだ)。
◆では,次に Internet Explorer 。
これまた,バージョンを書き留めレジストリで検索すると
[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet
Explorer]
Version="5.00.3105.0106"
と見つかる。
じゃ,あとは振り分けのソースを作れば OK なり♪
ということで,がしがしと書き始める。
今回は初のレジストリ参照という命令を使ってドキドキ(笑)
ま,参照するだけだから,書き換えるとかでもないし,
別に問題はなく完成。
いぁー,ちょっとは成長したかなぁ♪(←と思った,大バカもの(笑))。
◆次なる課題は,TeraPad のバージョン取得ってやつ。
はて?
どうやるんだろう(爆笑)
# そんな行き当たりばったりなプログラミングでいいのか(笑)>でる
記憶を探ってみたところ,確か前に一度,
外部アプリから TeraPad のバージョン情報を取得する方法が,
ML に流れてたなぁ。
ってことで,探す。
ヒット(笑)
が,しかし,サンプルは Delphi で書かれている。
# そりゃそうだ(笑)寺尾さん,Delphi な人なんだもん。
ということは,Delphi で書かれたサンプルソースを,
HSP で使えるようにしないとなぁ,ってゆっても,
でるに出来るわけがないし(汗)
これは識者のかたにお願いするしかない。
ところが(笑)
Delphi と HSP の両方が理解できる人,いません(爆笑)
そりゃそだよなぁ。
うーん。
と思っていたら,N さんから,Delphi を VB
に訳しますから,
誰か VB から HSP に訳せる人がいれば OK では?とありがたいお言葉。
ぉおっ。
まるで,多国語会議しているようだ(笑)
日本語から英語,英語からフランス語ってな感じっすね。
で,VB と HSP が出来る人,といえば Y さん(笑)
なので,そこから,N さんと Y さんが,
Delphi → VB → HSP という訳す作業を始めてくださった。
# ところが,これがちょっと難航。
その間,ぼけぇとしているわけにもいかないので,
でるは,でるなりに,何かバージョン取得できるやり方はないかと,
いろいろ調べてみる。
と,LLMOD というモジュール集の中に,そのものズバリ,
バージョン取得のサンプルがあるではないか!!
これがうまく利用できれば,お二方に迷惑かけることなくできるかも,
ってんで,サンプルをコンパイル実行!
がっっ,しかしっっっ,動かない(爆笑)
はぅうぅ。
なんか,音もなく終了してしまいます。
バージョンは,いずこぉおお(涙)
仕方ないので,こっちの分も投稿です。
サンプル動きません(涙)と。
#TeamTeraPad-ML の格を一人で下げている女(汗)<でる
すると,今度は M さんからリプライがあり,
うちではこれで動きましたと,サンプルを新たにつけてくださった。
ぉおおおお(涙)
ありがたさ 256 倍。
てことで,さっそくそのサンプルをコピー&ペーストしてやってみる。
ぅぉ。今度は動いた(笑)
なんでか,M さんが作ってくれたサンプルだとうまく動いている。
なのに何で,元のサンプルは動かないのだ…。
謎は謎なのであるが,とりあえず,プログラミングっちゅーのは,
動いたもの勝ちという名言がある(爆笑)
ので,そのサンプルいただきました。
さぁ,実行ファイルつくって〜,やってみる〜。
すんなりと,ぇえ,非常にすんなりと動きました。
ガッツポーズ(笑)
すると,これがまた欲が出て来るんですよね(笑)
◆クリップボードに格納するのはいいけど,
どうせなら貼り付けまでやっちゃえばいいんでないかい?(笑)
これもすぐにやり方は思い浮かびます。
呼び出し元の TeraPad のウインドウタイトルを
Get してきて,
貼り付けるためのキーを送信してやれば良いんです♪
# こんな風にサラリといいのけてしまうあたり,
# やっぱり,成長してるなぁ♪(←と思った,大バカもの更に倍(笑))。
このあたりは今までやってきた自分の一発芸ソースが役に立ちますわ。
過去の自分にありがとう(←やっぱりバカ(笑))。
そんなこんなで,TeraPad のバージョン取得でちょっと足踏みしましたが,
あとはすいすいといきまして,完成しました。
名付けて「TpVer」(爆笑)
TeraPad の Version 取得,という意味ですね。はい。
# ただ,今のTpVerは,TeraPadだけでなく他のエディタでもOKになってます。
# それにしても,ネーミングセンスは,いつになったら身に付くんでしょう?(笑)
さ。
投稿投稿♪
「TpVer」つくりましたぁ〜。download はここから〜。
めでたしめでたし♪
:
:
:
で,終わるわけがないのが,でるふぃアプリ(爆笑)
えぇ,とんでもない事態発生しました。
ということで,次回に続く,んである(笑)
| 本日の感想 |
一筋縄ではいかないのがプログラミング(汗) |
April 20, 2001