• ベストアンサー

ファイルの関連付け

アドレス帳を作るためのプログラムを作っているのですが、 このプログラムによって生成されたファイルを起動(ダブルクリック)すると、 プログラムが起動し、ファイルがこのプログラムに格納 されるようにするにはどうすればよいのでしょうか。 このファイルの関連付けはアドレス帳のプログラムにするものと します。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ykymtkt
  • ベストアンサー率51% (14/27)
回答No.3

"Command"関数を使用すると起動時のコマンドラインの引数を取得できます。 プログラム開始直後に引数を取得してデータファイルが指定されているかを判別して、指定されていればデータファイルのOPENを行い、指定が無ければ通常の起動をするようにすればよろしのではないでしょうか。 関連付けに関してはNo.2の方の回答のとおりです。

nox_neo
質問者

お礼

お返事ありがとうございます。 COMMAND関数で解決できそうです。 MSDNのサンプルではちょっとわかりにくいのですが、 何とかなりそうなのでもう少しがんばってみます。

その他の回答 (3)

  • nakashi
  • ベストアンサー率51% (21/41)
回答No.4

関連付けをするなら以下のファイル(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になります。

nox_neo
質問者

お礼

お返事ありがとうございました。 レジストリエディタで手動で関連付けということでしょうか。 このアドレス帳を配布したいので手動というのはちょっとまずいのです。 申し訳ありません。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

ファイルの関連付けは自分で行なうのですね? ファイルの関連付けを open のアクションに対して、   アドレス帳のプログラム "%1" と定義したのであれば、アドレス帳のファイルを仮に AAAA.adr と すると、そのファイルをダブルクリックすることは、コマンドプロンプト で、   アドレス帳のプログラム "ファイルが存在するパス\AAAA.adr" と起動されたことと等しいです。 プログラムからは、コマンドラインのオプションを取得(*)すれば、 そのファイル名が入っています。   (*) 私は VB を使わないので、具体的な関数名を出せませんが、     調べれば、すぐ分かりますよね?

nox_neo
質問者

お礼

お返事ありがとうございます。 ごめんなさい。 私はプログラムはVB以外したことが無いし、 この経験さえ1年ぐらいですのでぜんぜん理解できません。 パソコン用語集を調べてみたのですが、 わからず、実際に適当に入れてみても 変なエラーが出るし… 申し訳ありません。

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。   いまいちイメージがつかめないのですが、このプログラムを実行すると、  アドレス帳のデータ(ファイル)を、自分自身のexeファイルに取り込むと  いう事でしょうか?   もしそうであれば、それは不可能です。 自分自身のファイルは、実行中  に書き換える事は出来ません。   解釈間違っていたらスイマセン(^^;

nox_neo
質問者

補足

早速のお返事ありがとうございました。 質問があいまいですいません。 たとえでいいますと、エクセルで作成したワークシート(.xls)を 実行するとエクセルが起動するというようなものです。

関連するQ&A

  • ファイルの関連付けができないで困っています。

    ファイルの関連付けに関するする質問なのですが あるファイルをダブルクリックすると「ファイルを開くプログラムを選択」の ウインドウが開くのでそこでプログラムを指定して 「この種類のファイルを開くときは、選択したプログラムをいつも使う」に チェックを入れて起動させるのですがもう一度そのファイルを ダブルクリックするとまた「ファイルを開くプログラムを選択」の ウインドウが開いてしまって 「この種類のファイルを開くときは、選択したプログラムをいつも使う」の チェックも外れています。何度やっても同じです。 ISOファイルをダブルクリックするだけでDAEMONToolsにマウントできるように 設定したのですが・・・。参考URL:http://www.xucker.jpn.org/pc/iso_mount.html もともとISOファイルが他のプログラムに関連付けされていた事も原因かなとも思います。 どうか解決方法を教えていただけないでしょうか?よろしくお願いします。

  • ファイルの関連付けについて

    Windows 8 Proを使用しています。 ファイルの関連付けについての質問なのですが、.isoと.imgの2つの拡張子が既定のプログラムの「関連付けを設定する」の一覧にありません。 しかし実際にはダブルクリックでマウント出来ますし、右クリックでディスク イメージ書き込みツールも起動します。 普段は困ることはないのですが、あまり気持ちいいとは言えません。 「関連付けを設定する」に.isoと.imgを表示させるにはどうすればよいでしょうか? よろしくお願いします。

  • VBでファイルの関連付け

    VBでファイルの関連付け(そのファイルをダブルクリックすると,EXEが起動して,そのファイルをいじれる状態になる) 例えば,txtファイルのアイコンをダブルクリックするとメモ帳が開き,テキストが開かれるみたいにするのを, プログラムからやるのはどうすればいいでしょうか? LhasaやLhacaの左下のほうにあるようなやつです。 できればサンプルとかお願いします

  • ファイルの関連付け

    OEのときに保存したメールをWindows Live メールがインストールされているパソコンに取り込んで開こうと思いましたが開けず、そのファイルを右クリック『プログラムから開く』を選択したところWindows Live メールの項目がなかったのでInternet Explorerのところをクリックしてしまったところ添付ファイルの左側のアイコンになってしまいました。そのアイコンを関連付けするプログラムをやっと探してWindows Live メールに関連付けようとしても関連付けができません、アイコンが変わらないのです。そのファイルをダブルクリックしても添付ファイルの右のメッセージが出るだけで何も変わらないのです、解決方法が分かりましたらよろしくお願いします。直らなければパソコンの再セットアップも考えております。どうかよろしくお願いいたします。

  • ファイルの関連付けの復元

    Windows7上でファイルの拡張子とE:にあるプログラムの関連付けをし、ファイルをダブルクリックすると同プログラムが起動しファイルを読み込むよう設定し使用していました。 その後事情によりドライブ・レターをEからDに変更したため、再度関連付けをやり直そうと同ファイル右クリック→<プログラムから開く>→<規定のプログラムを選択>をたどりますが、同ダイアログには既に全く関係のない<推奨されたプログラム>が存在し、参照からパスをたどりD:にある起動すべきプログラムを指定するのですが全く反映されません。ファイルのダブルクリックを繰り返しても関係のない<推奨されたプログラム>が起ち上がるばかりです。 また<スタート>→<既定のプログラム>→<ファイルの種類またはプロトコルのプログラムの関連付け>から試みても結果は同様です。 一旦同プログラムをアンインストール、レジストリをクリーンアップしてから再インストールしても改善できません。 PCメーカーのサポートによれば同プログラムがC:にないのが問題では?との話ですが、元々E:にあって正しく起動していたため納得がいきません。メーカーの言うようにOSの再インストールしか解決策はないのでしょうか?膨大な手間と労力を要するため、他に検証する手立てがあればご教示下さい。 また<ファイルを開くプログラムの選択>において表示される無関係の<推奨されたプログラム>を同ダイアログから削除する方法も教えて下さい。

  • batファイルの関連付けなのですが

    batファイルの関連付けを誤って変えてしまったらしく, ダブルクリックをしても「ファイルを開くアプリケーションの選択」画面がたちあがって,DOSが起動しません. どなたか元に戻す方法を知りませんか. よろしくお願いします.

  • 拡張子の関連付けができなくなった

    拡張子の関連付けができなくなりました。 以前は、.cgiをダブルクリックすると、エディターのTeraPadで開くように関連付けしていました。 今日、ActivePerlを最新版にアップデートしてから、.cgiの関連付けができなくなりました。 後で知ったのですが、ActivePerlを導入するときに、拡張子の関連付けをするかしないかを選択できるようです。 関連付けを選択して導入してしまったようです。 具体的には、 ・*.cgiのファイルをダブルクリックすると、ファイルを開くプログラムの選択画面が表示される。 しかし、「この種類のファイルを開くときは…」のチェックボックスがチェックできない(薄く表示) ・*.cgiのファイルを右クリックしても、「プログラムから開く」のメニューが表示されない。 ・「コントロールパネル」→「フォルダオプション」→「ファイルの種類」 ここでは、TeraPadが選択されている。試しに.cgiを削除して新規で.cgiをTeraPadに関連付けしてみたが、現象変わらず。 ・ActivePerlをuninstallしてWindowsを再起動してみても、現象変わらず。 環境 WindowsXP Professional SP2 ActivePerl 5.8.8 よろしくお願いします。

  • ファイルの「関連付け変更」は、どこに記録されるの?

    「BMP ファイル」のケースでおたずねします。 このファイルをダブルクリックすると、 特に設定変更とかしていなければ、 「Windows 画像とFAX ビューア」で画像が開かれると思います。 このBMP 形式について、 「フォルダオプション」で、 関連付けを、たとえば「Paint」に変更すると、 ファイルのダブルクリックでは、 「ペイント」で画像が開かれると思います。 ---- このように、起動するプログラムが変わるのは、 「関連付け変更」に伴ってレジストリのどこかが書き替えられて、 というような仕組みなんでしょうか? その辺りについて、 具体的にお分かりでしたら、よろしくお願いいたします。 ---- 一応、   HKEY_CLASSES_ROOT\.bmp のところや、   HKEY_CLASSES_ROOT\Paint.Picture のところを覗いてみたりもしたんですが、 良く分かりませんでしたもので。 --

  • XPで拡張子の関連付けがうまくいきません。

    mp3ファイルをウィンドウズメディアプレイヤー(mplayer2.exe)に関連づけしたいのですがしてくれません。 mp3ファイルをダブルクリックすると、毎回「ファイルを開くプログラムの選択」というダイアログボックスが出てしまします。 ダブルクリックしたらいちいちそんなこと聞かないで、すぐウィンドウズメディアプレイヤーで再生されるようにしたいのです。 「ファイルを開くプログラムの選択」ダイアログボックスが出たら、ウィンドウズメディアプレイヤーにカーソルをあわせ 下の「この種類のファイルを使う時はいつも選択したプログラムを使う」にチェックを入れてOKを押します。 普通なら、これで関連づけできそうなものですが、再度mp3をダブルクリックすると、またどのプログラムで再生するかを 問うダイアログボックスが出るのです。 どうやれば、ダブルクリック、即ウィンドウズメディアプレイヤーで再生、という関連づけができるのでしょうか?

  • OutlookExpressにファイルの関連付けを行いたい

    ThunderBirdをインストール後、.emlファイルを ダブルクリックした際に起動するメーラーが ThuderBirdになってしまいました。 OutlookExpressで開きたいのですが、どうすれば直るでしょうか? フォルダオプションよりファイルの関連付け ファイルの種類:EML アクション:"C:\Program Files\Outlook Express\msimn.exe" "%1" では、OutlookExpressが起動してしまいました。 また、既定のメーラーはOutlookExpressに設定しています。

専門家に質問してみよう