■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#38262-0関連付けをしたいのですがShadow2001-02-05(月) 18:19
     #38263-0RE#38262:関連付けをしたいのですが魔界の仮面弁士2001-02-05(月) 19:02
     #38268-0RE#38263:関連付けをしたいのですがShadow2001-02-05(月) 21:00
     #38273-0RE#38268:関連付けをしたいのですがせつら2001-02-05(月) 22:15
     #38275-0RE#38268:関連付けをしたいのですが魔界の仮面弁士2001-02-05(月) 22:22
     #38379-0RE#38275:関連付けをしたいのですがShadow2001-02-06(火) 23:26
#38262-0
関連付けをしたいのですが
特定の拡張子に対して作ったプログラムに関連付けをしたいのですが、
どのようにすればいいのでしょうか?
VisualBasic6を使っています、方法があれば
是非とも教えてください。
#38263-0
RE#38262:関連付けをしたいのですが
エクスプローラのメニューからオプション設定を開き、
[ファイルの種類]の設定を行えば、とりあえずはOKかと。

……アンインストールした場合は、手動で書き戻さないといけないけど。(^^;

レジストリエディタで該当個所をエクスポートしておけば
他のPCに設定を書き写すこともできますね。
#38268-0
RE#38263:関連付けをしたいのですが
> エクスプローラのメニューからオプション設定を開き、
> [ファイルの種類]の設定を行えば、とりあえずはOKかと。
> 
> ……アンインストールした場合は、手動で書き戻さないといけないけど。(^^;
> 
> レジストリエディタで該当個所をエクスポートしておけば
> 他のPCに設定を書き写すこともできますね。

ご返答ありがとう御座います。が、
申し訳ありません、こっちの書き方が悪かったみたいです。
関連付けをするためのプログラムを組みこみたい、
もしくは関連付けようのプログラムを作りたいのですが、
どのようにすればいいのでしょうか、という意図の質問でした。
もしよろしければ返答御願いします。
#38273-0
RE#38268:関連付けをしたいのですが
レジストリを操作する API をガシガシ使って書くのが筋ですが、とっても長くなってしまうので、
面倒です。

そこで、VB 命令だけでできる簡単案です。 まず、拡張子を認識して自動起動する構造は理解されて
いますか? 作りたい内容を知らないと、作れませんよ。 まずはそこから調べましょう。

簡単に説明すると、REGEDIT で HKEY_CLASSES_ROOT 以下にある任意の拡張子の情報から始まります。
ここをマークした状態で、「レジストリファイルの書き出し」を行ないましょう。

次に、VB の Shell 関数を利用し、レジストリファイル名を引数として、REGEDIT.EXE を起動します。
すると、ファイル内容に従って、レジストリが変えられるのですね。

更に、レジストリファイルは、実は単なるシーケンシャルファイルでしかないので、VB のファイル操
作命令で同じ文字列を書きこむ事ができますね。 後は、この一連の流れをコーディングするだけです。

だいぶ前に、私がこの方式のサンプルを書いた事もあります。 頑張って、作ってみてください。
(レジストリを操作する事は、WINDOWS のシステムに手を加える事なので、自分で仕組みを調べる事
のできないレベルでは手を出さないほうが良いです。 WINDOWS を破壊しても知りませんよ?)
#38275-0
RE#38268:関連付けをしたいのですが
> 関連付けをするためのプログラムを組みこみたい、
レジストリを直接操作するしかないでしょう。

レジストリの書き出しはこう。
  Shell "REGEDIT /E C:\SAMPLE.REG ""HKEY_CLASSES_ROOT\BATFILE"""
で、これをテキストファイルとして読み書きすればOK。

書き出すには、
  Shell "REGEDIT /S C:\SAMPLE.REG"

これが、先ほどの内容をそのまま実行する方法です。


で、コマンドラインを使わずに、レジストリを直接読み書きする方法は、
WshShell オブジェクトのRegRead/RegWrite/RegDeleteメソッドです。

で、関連付けに必要な情報ですが、これはHKEY_CLASSES_ROOT以下の任意キーです。
# この辺りは、細かく見ていくと結構複雑なので、基本部分だけ端折って説明します。

例えば、*.nnnファイルの関連付けであれば、
   HKEY_CLASSES_ROOT\.nnn
を探し、その値(例えば、"nnnfile"など)を得ます。
次に、その値を使って、
   HKEY_CLASSES_ROOT\nnnfile
を検索します。
で、その下のshell以下が、関連付け情報。shellex以下がActiveXによる拡張情報です。
#38379-0
RE#38275:関連付けをしたいのですが
せつら様、魔界の仮面弁士様、ご返答ありがとう御座います。

やはり、関連付けを変更するにはレジストリいじるしか手は無いんですよね。
レジストリ自体には多少知識はあるつもりですが、
ミスったら物凄く怖いので暫く先送りにします。
でもまぁ、レジストリをいじればちゃんと関連付けもできるというのが
わかっただけでも良かったです。ありがとう御座いました。
このページと関連する記事:
#35255-0ファイル拡張子の関連付け2000-12-13(水) 13:43
#7001-0関連付け2000-03-30(木) 05:24
#21598-0ファイルの関連付けをするには?2001-06-28(木) 20:53
#4208-1ファイルの関連ずけ1999-08-30(月) 17:39
#10950-0関連付け2000-05-26(金) 00:47
#41259-0自作テキストエディタで作成したファイルを関連付けて開きたい2001-04-04(水) 14:44
#40873-0関連付けファイルについて2001-03-27(火) 11:56
#31362-0シェルの拡張2000-10-07(土) 15:38
#41262-0是非、教えてください2001-04-04(水) 14:56
#37588-0PCの再起動なしで関連付けした拡張子のファイルのアイコンを変更したい2001-01-24(水) 12:41
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)