第2号ついに完成! 中級プログラマの中級プログラマによる中級プログラマのためのWebマガジン「進め!中級プログラマー」がついに第2号にいたりました。(ぱちぱち)
ここでは、僕が Windowsプログラミングの学習をする過程で作成したドキュメントを基に、毎号一つのテーマを決めて Windowsプログラミングに関する概念やテクニックを掲載していく予定としています。
今のところ、主にInprise社の「Delphi」及び「C++ Builder」に関する話題を中心に構成していく予定としていますが、余裕ができてくれば「Java」やプログラミングに関する一般的な話題についても加えていきたいと思っています。 |
|
読者の皆様へお願い ご面倒だとは思いますが、そのような誤り等を発見されました方は是非杉浦までご連絡いただけますようよろしくお願いいたします。(指摘されました点に関しましては確認でき次第、内容に反映させていきたいと思っております)
また、いつものお約束事ですが「この文書に書かれた内容によって生じたいかなる損害に対しても当方は責任を持ちません。自己責任のもとで当文書をご利用下さい」ということでお願いします。
|
|
バックナンバー
|
--- 1998 10/25 発刊 ---
--- 1999 05/16 改修 --- Thanks to 沖本 憲昭 さん
第 2 号
|
進め!中級プログラマー 第2号
今回のテーマ シェルと仲良くする(part2)
VCLのような良く出来たライブラリを用いると、そこそこのWindowsアプリケーション、ユーティリティがものの数時間で非常に簡単に作成できてしまいます。
各ファイルに割当てられているアイコンを取得するにはどうすればいいのか。
創刊号に引き続き、このようなシェルとの対話を必要とする場面で使える知識やテクニックを以下に解説していきます。 |
2. 拡張シェルオブジェクト
|
2.1.2 デフォルトアイコンの設定
まず、対象となる拡張子をキー名とするキーにサブキー「DefaultIcon」を作成します。この「DefaultIcon」キーのデフォルトの値にアイコンを含む実行ファイルへのフルパスとアイコンインデックスを指定すれば完了です。
なお、同じ拡張子でもファイル毎に異なるアイコンを付与したい場合は、アイコンハンドラと呼ばれる拡張シェルオブジェクトを作成する必要があります。これに関しては後の章で解説する予定です。
|
2.1.3 デフォルトコンテキストメニューの追加
まず、対象となる拡張子のキーに登録している AppIDをキー名とするキー(先の「.sct」ファイルでの「EasySecret.Document.1」に相当)にサブキー「shell」を作成します。
なお、同じ拡張子でもファイル毎に異なるコンテキストメニューを付与したい場合は、コンテキストメニューハンドラと呼ばれる拡張シェルオブジェクトを作成する必要があります。これに関しては後の章で解説する予定です。
なお、メニューに表示される文字列が与えられているキー(上例では「DfltDecode」)には正規動詞と呼ばれる予約キーがあります。(表2-2参照)
|
2.1.4 新規作成ファイルタイプの追加
まず、対象となる拡張子のキーにサブキー「ShellNew」を作成します。この「ShellNew」キーに、作成するファイルの形式を指定するデータ名を1つ作成し、その値を設定すれば作業は完了です。
|
2.1.5 拡張シェルオブジェクトの設定
まず、「HKEY_CLASSES_ROOT\CLSID」キーに拡張シェルオブジェクトのクラスID(CLSID)をキー名とするキー(ここでは仮に {MY_ID} とします)を作成し、そのデフォルトの値に同オブジェクトに関する説明文を登録します。ここで、クラスID「MY_ID」は重複しないよう必ず UUIDGENなどのGUID生成ツールを用いて割当てて下さい。
|
トップページに戻る |