ページ 11

関連付け & リッチエディタ(?)

Posted: 2006年5月25日(木) 16:09
by MML
度々すみません。

関連づけについて教えていただきたいんですが、
レジストリに拡張子「ais」を自分のアプリに登録したいのですが、
どうプログラムすればよいのでしょうか?

あと、プロジェクトエディタにある、
「リッチエディタ」(?)というものがあるんですが、
使用の方法はどうするんでしょうか。

お知りの方はお教えください。

あと、バグかどうかはわからないんですけど、
Sleepで無限まちにすると、フリーズしてしまうんですが、、、

Posted: 2006年5月25日(木) 20:02
by イグトランス
関連付けはHKEY_CLASSES_ROOT以下で行います。
まずHKEY_CLASSES_ROOT\.aisのようにピリオド付で拡張子名のキーを作ります。

さらにその下にDefaultIconという名前の文字列値を作ります。
内容はそのファイルのアイコンの指定です。
アイコンファイルのパスを書くか,EXE/DLL内のアイコンは"EXE/DLLのパス,リソースID"という方法で指定します。

さらにShell, Open, Commandというキーをそれぞれ中に作ります。
つまりHKEY_CLASSES_ROOT\.ais\Shell\Open\Commandとなるように作ります。
Commandの標準の値は文字列で"EXEへのパス %1"という風にします。

これで関連付けは完了です。関連付け起動された場合はGetCommandLineでファイル名を取得できます。

Sleepで無限待ちにするとフリーズするのは当然のことです。
「待っている」のですからどんな操作も受け付けなくなるのです。

Posted: 2006年5月25日(木) 20:33
by C1000
Sleepで無限待ちにしてフリーズさせたくないならSleep関数を別のスレッドで呼び出せばいいです。