3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

EXEがファイルが実行できない

とあるPCで、どのプログラムを実行しても、同じプログラムが実行されてしまうという現象が発生したというので相談がありました。

たしかに、ショートカットを実行してもEXE本体から起動しても同じ動画ダウンロードのソフトが実行されます。

Windowsにログインすると、スタートアップに登録されている全てのEXEも、同じ動画ダウンロードのソフトとして起動されます。

ウイルスかと思い、HDDを別PCでチェックしましたが、問題はありませんでした。

別ユーザでログインすると、問題なくそれぞれのプログラムが起動しました。

どうやら、問題のあるユーザで、EXEの関連付けをその動画ダウンロードアプリケーションしてしまったようです。

レジストリエディタを立ち上げようとしても、ダメです。

解決策は、すべてのプログラム(EXE,LNKファイル)を実行できないに載っていました。

まず、問題のユーザでログインし、[ファイル名を指定して実行]を起動します。

そして、コマンドプロンプトを起動するわけですが、"cmd" とすると動画ダウンロードソフトが起動してダメでした。

しかし、"command" とすると、コマンドプロンプトが立ちあがりました。

たしか "command" はWindows9x系の時に使ってた気がするんですが、XPでも使えるとは驚きでした。

後は下記のようなコマンドを打ち込んで、exeの関連付けを元に戻します。

accoc .exe=exefile

ftype exefile="%1% %*

assocコマンド

ftypeコマンド

コマンドプロンプトが立ち上がると、そこから "regedit" でレジストリエディタを起動することができました。

レジストリの下記を消すことでも解決できるようです。

HK_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.EXE

試しに、フォルダオプションからEXEの関連付けをテキストファイルにしたところ、上記のキーではなく下記キーが書き変わってました。

HK_CLASSES_ROOT\.exe

の(既定)のデータが txtfile

この場合(既定)のデータを exefile にすることで解決できました。