Short cuts: [Prev][Up][Next] [Return to Top]
.Ico、.Ico、汝を如何せん 1997.Nov.19
それはある問いから始まった。
「xxという言葉にふさわしいIconはないのか?」
しばし考えてある画面を出した。
「これなんか、どう?うち(会社)が作った奴だし」
「よし、それで行こう」
が。作った部署が違う。だからソースがない。当然.icoもない。
ちょっとやってみる、という程度のことで見知らぬ部署に電話して
「担当者を出せ!」
と、言える程ツラの皮は厚くない(ここ、突っ込むな!>私を知ってる人)ので
自分でちょいちょいとやることにした。
実はIconリソースの抽出ぐらい訳はないと思ったのが運の尽き。
1. IconPro
抽出ツールと言えば確かIconProってなのがあったな……。
C:\usr> fl iconpro
fl、というのはNorton Utilityに付属していた(今もあるのかもしれないが)
ファイル検索ツールである。スタートボタン→検索(F)→ファイルやフォルダ(F)
と似たような機能なのだが、DOS窓であればご覧の通りそっちより遙かに低い
労力で起動できるので、手が勝手にそう入力してしまうのだ。
Norton Utilityも所持しているのは確かDOS 5ぐらいが対象の古いバージョン
なのだが、flは2G超パーティションのFAT32 HDDでも問題なく(って内部処理を
考えれば問題なく動いて不思議はないのだが)動作する。
ds (Directory Sort)などは怖い(というか、FAT32でまともに動作するはずが
ない)のでとうに消してしまったが、こいつは今も愛用している。
ソフトベンダーから見ればこういう過去の遺産を好んで使う奴は全く売り上げに
貢献しない嫌な野郎なんだろうけど、必要もないのにバージョンアップする趣味は
ないので。(昔からそうだけど、最近は特に某社アプリのバージョンアップは怖くて
できない。うっかりサービスパックなぞを当てようモンなら更に地獄を見るし)
で。
C:\MSTOOLS\SAMPLES\WIN32\ICONPRO
iconpro.c 27,222 bytes 01:30 Fri 1996 Aug 9
<中略>
8 files found
へ?
SDKのサンプルじゃんか。(ちなみにこいつはソースをMSのWebから落とせる。
前に落として、これってばSDKのと同じじゃんか〜と叫んだ記憶がある)
早速nmake (泥縄〜。だけどSDKのサンプルを全てコンパイル済みで保持しておく
根性はあたしにはない)。実行して先ほどの実行ファイルを見ようとするが、
あれ?名前何だっけ?(爆)
で、Ctrl + Esc→'S'→'T'、[スタート]メニューの設定、詳細(D)...
結果:xx.cpl (実はコントロールパネルのアプレットだった)
み!?
IconProは.exe、.dllからの抽出はサポートしてるけど、.cplからは……。
待て待て。.cplなんて所詮は.dllか.exeだ。renameすりゃあ同じ事。
カレントディレクトリにその.cplをコピーしてと。
(で、どっちにrenameしたか覚えてないんですが、多分.dllかな?)
が、…無い。Iconが。こいつが使う他の.dllとかにあるのか?とQuick
Viewer (Windowsに付属)でその.cplが使用する.dllを表示させてそっちの中身を
探すがやっぱりない。
考えることしばし。あ、もしかしてひょっとしてこれってば.bmpを貼って
あるんかい?
2. VC++ 4.0
ええとまともにリソースを見るには?dumpbin (VC++ 4.0付属のツール)...
いや待て。あれは単にダンプするだけでねぇか。こんな時にBC++のリソース
ワークショップがあれば……。ん?
VCだってBCとの対抗上、できてもおかしくないはずだが。
コマンドライン派なあたし(デバイスドライバのデバッグにIDEは使用できない。
だからあんな重いモンを動かす趣味は毛頭ないのだ)故、滅多に起動しないIDEを
立ち上げて見る。
おぉ!(って初めからこうすれば良かったか?)
やっぱり.bmpだった。これをsaveしてさぁIconProだ...(VCのIDEで.bmpを.icoに
変換して保存ってできるの?IconProに.bmpからのimportがあるのは確認してたので
VCのhelpは見なかったのだが)
3. GV
しかし、この.bmpの形式が分からない。IconProは.bmpを読み込む前に色数、
大きさは決定しておかねばならないのだが。
どうしたかと言えば、GV (Freeな画像ビューワ。極めて有名)を起動して.bmp
を読み込み画像情報を見る。
32*32*16色!
おぉ。楽勝。IconProは確かフルカラーまでサポートしてたし、32*32までとか
言う制限もImageEdit (SDK付属。16色までのIconしか作れない)と違ってなかった
はずだし(って、この文章を書いている自宅のマシンではIconProが何故かページ
違反を起こしてしまい、この辺の確認ができない。会社のマシンではちゃんと
動くのに……。ま、MS製だからしょうがない[苦笑]。でも変だな。そりゃぁpureな
Windowsとは言えないにしても自宅マシンには極力MSのアプリは入れてないのだが?)
4. 再度IconPro
結局、32*32*16でIconを新規作成して.bmpを読み込み、.icoとして保存。
めでたしめでたし?
しかし。たった1つの.Icoを得るために幾つアプリを使ったんだぁ?
− 以上 −
Short cuts: [Prev][Up][Next] [Return to Top]