2018年12月29日

プログラムと拡張子の関連づけのトラブル

 オーツが以前から使っている1台の Windows 7 のパソコンがあります。以前はオーツがメインマシンとして使っていたものでしたが、部屋の隅でホコリを被っていました。最近、復活してまた使うようになりました。
 さて、このパソコンで、自作プログラムを用意してデータを処理させるために、とある拡張子をこのプログラムに関連づけようと思いました。
 コントロールプログラム→既定のプログラム→関連づけを設定する を選び、当該の拡張子をクリックして、「プログラムの変更」をクリックします。
 「ファイルを開くプログラムの選択」画面になります。ここで「参照(B)」をクリックして、C:ドライブにある、とあるフォルダの中の実行プログラム(コンパイル・リンクしたもので、ここでは仮に X.EXE と呼ぶことにしましょう)を選びます。
 すると、元の「ファイルを開くプログラムの選択」ウィンドウに戻るのですが、「ほかのプログラム」欄に X.EXE が表示されません。したがって、拡張子との関連づけができません。
 X.EXE が問題かもしれないので、リンクするルーチンをちょっと変えた aX.EXE、配列の大きさを変えた bX.EXE cX.EXE などを作り、試してみると、aX.EXE bX.EXE cX.EXE などは「ほかのプログラム」欄にそれぞれのプログラム名が表示され、拡張子との関連づけができるのに、X.EXE とだけ関連づけができません。全部同じフォルダにあるファイルで、同じバイト数で、ごくわずか内容が違っているだけなのに。
 なぜこうなるのか、オーツにはわかりませんでした。何回か、それぞれのソースプログラムをコンパイル・リンクしても同じでした。
 関連づけを指定しないで X.EXE をダブルクリックで起動したり、バッチファイル内に記述して起動したりすると、正常に動きます。拡張子との関連づけを指定する場合だけ、それができないことになっています。
 aX.EXE と拡張子を関連づけした状態で、aX.EXE のファイル名を一時的に変更し、X.EXE のファイル名を aX.EXE にしてやると、拡張子と関連づけられた aX.EXE(実態は実は X.EXE)が普通に起動します。
 拡張子とプログラムの関連づけの情報は、ここだけでなく、レジストリとかどこかに書かれているのでしょうか。そこに、どこそこにある X.EXE と関連づけるとか書かれているのではないでしょうか。しかし、そうだとしても、上の手順で関連づけを新しく指定すれば書き直されるはずだと思います。
 Windows を使い始めて四半世紀、初めて遭遇したトラブルです。オーツは、拡張子とプログラムとの関連づけがわからなくなりました。まさか、今頃になって Windows 7 のOSの再インストールから行うつもりはありません。
 やれやれ、やれやれ。
posted by オーツ at 05:00| Comment(0) | パソコンとIT | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。