RE:関連付けの共存について
(
みやさか
)
2001/10/14 00:56
> Yahooを使っていろいろ調べてみましたが、
> "Open"を作るやり方が主流のようです。
主流というか、普通はそうするのですよ。
ただ、常に ダブルクリック時の動作=open の動作 とは限りません。
"shell" キーの "(標準)" の所にダブルクリック時に起動する動作が
指定されている場合もあります(例を挙げると HKEY_CLASSES_ROOT\htmlfile など)。
つまり、open 以外の動作をダブルクリック時の動作にすることも可能です。
もしそれ が 値なし ならば open 、さらに open も存在しなければ、
登録されているその他の動作、となるようです。
> 私も詳しくは分からないのですが、
> "LhasaArchive"キーの奥に"Extract"が存在するので、
> "LhasaArchive"の名前が重ならなければよいのではないでしょうか?
それは、.lzh が他のソフトに関連づけられていない状態で Lhasa に関連づけを
した場合はそうなります。ですが、.lzh が既に他のソフトに関連づけられている
状態で Lhasa に関連づけした場合は、既存のキーに Extract キーが追加される
だけになります。
確かに *普通は* 、"LhasaArchive" のようなアプリケーション独自のキーを
新しく作成して、HKEY_CLASSES_ROOT\.lzh キーの内容を書き換えることによって、
関連づけを変更するのですが、それだと多くの場合アイコンまでもが変わって
しまったりして、(特に)初心者ユーザーを困惑させることにもなります(^^;。
ま、この辺をどう対処するかはそのソフトの作者の考え方によると思うので、
どうすべきか というようなことは、あえてここでは言いません。
> lzhファイルを関連付けるソフトはLhasaぐらいしかありませんし、
> ユーザーが関連付けの有無を設定できるので
> 共存の心配はしなくても良いような気がしますが。
へ?。ネットを探せば lzh ファイルを扱うソフトなんて無数に存在しますし、
その中で lzh ファイルを関連付けないソフトなんてほとんど無いと思いますが。
そもそも、ShellExecute() の動作なんて、そのユーザーがどんなソフトを
関連づけているかによって、動作(つまり起動するソフト)がまったく変わって
しまうんですよ。その ShellExecute() を使って、具体的にどんなことをやろうと
しているのかが私にはいまいちわかりません。もし仮に Lhasa がインストール
されていることを大前提にして、Lhasa を起動することだけが目的ならば、
ShellExecute(handle, "Extract", ....
とすれば起動できるはずですよ。
--「RE:関連付けの共存について」に対するコメント--
タイトル(Subject):
お名前(Your name):
Mail address:
Password:
:入力しておくとあとで削除できます
Your message:
7thBridge P ver0.26 (c)Takechin