designetwork

ネットワークを軸としたIT技術メモ

Win7で「このファイルを開けません。Webサービスを...」を非表示にし「この種類の...」チェックを外す

Windows 7 では未登録の拡張子のファイルを開くとき、Webから対応ソフトウェアをダウンロードするか、PCにインストールされているソフトウェアで開くかを選択する必要がある。この選択だが、エンジニアにとっては余計な手間となっているケースが多い。
各種ログファイルなどはlog.001, log.002などと、拡張子なしの連番で作成されていたりする。このログファイルはテキストエディタでパッと開いて確認したいことが多い。これが、「Webサービスを使用して正しいプログラムを探す」から「一覧からプログラムを選択する」に変更して、「この種類のファイルを開くときは、選択したプログラムをいつも使う」のチェックを外してメモ帳を選択、とやっていたら余計な時間がかかり解析スピードが落ちる。

実際の動作としては、このようなファイルをダブルクリックする。

そうすると、デフォルトではこのような画面が表示される。

このステップがわずらわしいのでこの画面を飛ばすよう設定する。

なお、Windows 10はこの画面は表示されず、アプリケーション選択画面になる。

設定変更の前にバックアップ

本設定では、レジストリを編集します。レジストリ設定を誤るとWindows 7が正常に動作しなくなることがあるので、以下の手順の通りバックアップをしてください。

https://support.microsoft.com/ja-jp/kb/322756

※なお、本記事の設定は私の環境での動作結果です。設定変更は各々の責任で実施願います。

画面を飛ばすようレジストリの設定追加

このファイルを開けません。Webサービスを使用して正しいプログラムを探すの画面を飛ばすために、レジストリを編集する。

Win+R で regedit を実行する。

左ペインのツリーで以下の通り移動する。

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer

ここで作成されたファイルの名称を NoInternetOpenWith に変更する。F2か右クリック>名前の変更でも編集可能。

そして、ダブルクリックか右クリック>修正で 値のデータ:1 とする。

これで最初の画面が出ない。

うまくいかない場合

環境によっては、パスが異なる場合がある。

別ルートの設定をしてみる。

HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer

Policiesが不要なケースもあり。

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer

ファイル名を InternetOpenWith にして値を 0 とするパターンもある。(私はうまくいかなかった)

さらにチェックを外す

このファイルを開けません。 の画面は出なくなったため、続いて「この種類のファイルを開くときは、選択したプログラムをいつも使う」のチェックを外す。xxx.log のような特定の拡張子はチェックを入れてしまえば良いが、xxx.123 のような拡張子をテキストエディタに紐付けるのは、個人的には避けたい。

こちらのMSコミュニティでもある通り、次の設定で常に使う設定を無効化できる。

answers.microsoft.com

レジストリ エディターで「HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command」キーを選択 > 右側の画面で「(既定)」をダブルクリックし、値の末尾に「 %2」を追加

この設定により、チェックが外れ無効化され、開くたびに同じ画面が出るようになる。

拡張子登録を解除する方法

間違って拡張子を登録してしまった場合は、以下の手順で解除できる。

answers.microsoft.com

まとめ

上記の設定変更をすることで、このファイルを開けません。「Webサービスを使用して正しいプログラムを探す」「この種類のファイルを開くときは、選択したプログラムをいつも使う」のチェックの手間を省き、快適にWindows 7を使用することができる。