- ベストアンサー
ファイルの関連付け
アドレス帳を作るためのプログラムを作っているのですが、 このプログラムによって生成されたファイルを起動(ダブルクリック)すると、 プログラムが起動し、ファイルがこのプログラムに格納 されるようにするにはどうすればよいのでしょうか。 このファイルの関連付けはアドレス帳のプログラムにするものと します。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
"Command"関数を使用すると起動時のコマンドラインの引数を取得できます。 プログラム開始直後に引数を取得してデータファイルが指定されているかを判別して、指定されていればデータファイルのOPENを行い、指定が無ければ通常の起動をするようにすればよろしのではないでしょうか。 関連付けに関してはNo.2の方の回答のとおりです。
その他の回答 (3)
- nakashi
- ベストアンサー率51% (21/41)
関連付けをするなら以下のファイル(xxx.reg)を作って一度実行すれば登録す ればファイルをクリックするだけで起動すると思います。 ==========================xxx.reg==================================== REGEDIT4 [HKEY_CLASSES_ROOT\.xxx] @="xxx_auto_file" [HKEY_CLASSES_ROOT\xxx_auto_file] @="" [HKEY_CLASSES_ROOT\xxx_auto_file\shell\open] @="" [HKEY_CLASSES_ROOT\xxx_auto_file\shell\open\command] @="C:\\[ディレクトリ名]\\[実行ファイル名].exe %1" ==================================================================== ここでは拡張しxxxになります。
お礼
お返事ありがとうございました。 レジストリエディタで手動で関連付けということでしょうか。 このアドレス帳を配布したいので手動というのはちょっとまずいのです。 申し訳ありません。
- a-kuma
- ベストアンサー率50% (1122/2211)
ファイルの関連付けは自分で行なうのですね? ファイルの関連付けを open のアクションに対して、 アドレス帳のプログラム "%1" と定義したのであれば、アドレス帳のファイルを仮に AAAA.adr と すると、そのファイルをダブルクリックすることは、コマンドプロンプト で、 アドレス帳のプログラム "ファイルが存在するパス\AAAA.adr" と起動されたことと等しいです。 プログラムからは、コマンドラインのオプションを取得(*)すれば、 そのファイル名が入っています。 (*) 私は VB を使わないので、具体的な関数名を出せませんが、 調べれば、すぐ分かりますよね?
お礼
お返事ありがとうございます。 ごめんなさい。 私はプログラムはVB以外したことが無いし、 この経験さえ1年ぐらいですのでぜんぜん理解できません。 パソコン用語集を調べてみたのですが、 わからず、実際に適当に入れてみても 変なエラーが出るし… 申し訳ありません。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 いまいちイメージがつかめないのですが、このプログラムを実行すると、 アドレス帳のデータ(ファイル)を、自分自身のexeファイルに取り込むと いう事でしょうか? もしそうであれば、それは不可能です。 自分自身のファイルは、実行中 に書き換える事は出来ません。 解釈間違っていたらスイマセン(^^;
補足
早速のお返事ありがとうございました。 質問があいまいですいません。 たとえでいいますと、エクセルで作成したワークシート(.xls)を 実行するとエクセルが起動するというようなものです。
お礼
お返事ありがとうございます。 COMMAND関数で解決できそうです。 MSDNのサンプルではちょっとわかりにくいのですが、 何とかなりそうなのでもう少しがんばってみます。