web-dev-qa-db-ja.com

特定のデフォルトのアプリケーションの関連付けが「ロック」されるのはなぜですか?

Open with/Choose default program...ダイアログを使用してMP3ファイルを MPlayer に関連付けた後、このダイアログを使用してその関連付けを変更することはできなくなりました。今後、Always use this [...]チェックボックスは常にグレー表示されます(Control Panel -> Default Programs -> Associate a file type or protocol with a program変更することもできません。とにかく同じダイアログを使用するようです)。

これはMP4ファイルでも発生しましたが、たとえばMKVでは発生せず、MP3ファイルを VLCメディアプレーヤー などの他のアプリケーションに関連付けると、ブロックされません。それはなぜですか、これを事前に回避できますか(ありがたいことに、後で修正する方法をすでに知っています)?

別の観察:ブロッキングプログラム( Visual Studio への関連付けでそれをブロックすることもできました)は、open-with-dialogueのRecommended Programsに表示されません(そしてExplorerが言った:「現在のプログラムはお勧めできませんが、変更することはできません、ha!」)。

スクリーンショット:

Screenshot

左上にあるように(MPlayerのアイコンがわかっている場合)、ファイルは現在MPlayerに関連付けられています。


それを修正する方法(注:この質問はそれを修正することについてではありません):

  1. デフォルトプログラムの使用

    コントロールパネル->デフォルトプログラム->デフォルトプログラムを設定[〜#〜] wmp [〜#〜]このプログラムのデフォルトを選択します、チェック。 mp3

    これにより、ファイルがWindows Media Player(WMP)に再度関連付けられます。新しい関連付けは Windows Explorer で作成できます。

  2. レジストリを使用する(いつものように、何をしているかわからない場合や、システムを誤って壊してしまった場合を除き、手を離さないでください):

    HKEY_CURRENT_USER->ソフトウェア->Microsoft->Windows->CurrentVersion->エクスプローラ->FileExts>。mp3

    ここでは、たとえば、open-with-listをクリーンアップできます。現在のデフォルトプログラムは、ここでもUserChoiceに保存されているようです。そこで、ProgId文字列を別のアプリケーションに変更し、WMP11.AssocFile.MP3を入力するか、すぐに別のアプリケーションを選択することで、WMPに関連付けることができます。

    ただし、ProgIdの値を変更できない場合は、キーの権限を変更する必要があります。

(私は今、質問に答えない3つの答えを持っているので:この質問は、協会を再び機能させることについてではないです。私は症状との戦いが好きではありません、私は治療法を好む。)

13
H.B.

フォーラムの投稿ファイルの関連付けを設定できません-オプションがグレー表示されますが答えを持っているようです:

HKEY_CLASSES_ROOT\Applications\regedit.exeには、REG_SZ0値が呼び出されますNoOpenWith

レジストリにこの値があるかどうかを確認してください。

もしそうなら、本当の質問は:なぜそのような価値があるのか​​、そしてどのプログラムがそれを設定したのですか?

4
kamaradclimber

MPlayerはおそらくレジストリを編集して、以前に言及したレジストリキーを変更/作成します(HKEY_CURRENT_USER>ソフトウェア> Microsoft> Windows> CurrentVersion>エクスプローラ> FileExts> .mp3)。

以下では、2つの部分に注目する必要があります(1つはメソッドAとメソッドBの2つの部分です)Windows Vista、7またはServer 2008の場合

方法A

  1. RUNダイアログボックスにregeditと入力し、Enterキーを押します。次に移動:

    HKEY_CLASSES_ROOT\Unknown\Shell\opendlg\command
    
  2. 右側のペインで、「Default」キーの値を次のように変更します。

    %SystemRoot%\system32\rundll32.exe
    %SystemRoot%\system32\Shell32.dll,OpenAs_RunDLL %1 %2
    

    注:デフォルト値の最後に%2を追加しただけです。 2から9までの任意の数を使用できます。

  3. レジストリエディターを終了し、[プログラムから開く]ダイアログボックスを開こうとします。次のスクリーンショットに示すように、チェックボックスが無効になっていることがわかります。

    Open_with_disabled.jpg

方法B

  1. RUNダイアログボックスにregeditと入力し、Enterキーを押します。次に移動:

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

    「Explorer」キーが存在しない場合は、手動で作成してください。

  2. 右側のペインで、新しいDWORD値NoFileAssociateを作成し、その値を1に設定します

  3. レジストリエディターを終了し、[プログラムから開く]ダイアログボックスを開こうとします。次のスクリーンショットに示すように、チェックボックスが完全に削除されていることがわかります。

    Open_with_invisible.jpg

注:ご覧のとおり、方法Aを使用してチェックボックスを無効にすると、[プログラムから開く]ダイアログボックスには、方法Bを使用した場合の推奨プログラムリストが表示されません。 Windows Vistaの最後のスクリーンショットを参照してください。方法Bは、チェックボックスを無効にするのではなく、完全に削除します。

ボーナスヒント:このチュートリアルは、逆の条件でも使用できます。例えばこのチェックボックスがWindowsですでに無効になっていて有効にしたい場合は、方法Aで述べた%2を削除するか、DWORD値の値をに設定します。方法Bで述べた。

見ることAT 2:レジストリキーが変更されないようにするには、アクセス許可を制限できます(MPlayerのインストール後にこれを行う必要がある場合があります)。

方法は次のとおりです。

  1. 変更するレジストリキーに移動します(それをクリックします)。
  2. トップメニューの[編集]をクリックします。
  3. 権限をクリックします。
  4. 詳細をクリックします。
  5. 適切なグループを選択します(例:SYSTEM、ADMINISTRATORS(...)
  6. 編集をクリックします。
  7. 「値の設定」の権限を拒否します。
  8. [OK]をクリックして、開いたばかりのすべてのウィンドウを閉じます。
1
wizlog

何かがレジストリキーをロックして、変更されないようにしているようです。

いくつかの可能性があります。1つまたは複数のレジストリキーのアクセス許可は、現在のユーザー(おそらくインストール中に設定されたもの)以外のユーザーが所有しています。権限を確認してリセットするために何かが定期的に実行されています。または、変更を防ぐために何かがキーをアクティブに監視しています。

まず、キーのアクセス許可を調べて、それがアクセス許可の問題かどうかを確認します。おそらく管理者としてregeditを実行する必要があります。 (スタート->検索ボックスにregeditと入力し、右クリックして[管理者として実行]を選択します)。ユーザーアカウントに書き込みアクセス権がないなど、明らかなものがある可能性があります。適切な権限を追加し、問題が解決するかどうかを確認します。

そうでない場合、または再起動後や一定期間後に権限がなくなる場合は、もう少し掘り下げる必要があります。 この記事 から始め、Process Monitorをインストールして、ブートログを有効にします。これにより、起動プロセス中に何かがキーを設定しているかどうかがわかります。定期的なリセットの場合は、レジストリ値を手動で変更した後、プロセスモニターを実行したままにして、設定の乱れをキャプチャすることができます。

いつものように、レジストリをいじるときは注意してください。システムを使用不能にする可能性があるため、変更を行う前にバックアップを作成してください。

0
chris

MPlayerがコンテンツに関してレジストリをめちゃくちゃにしたと思いますandパーミッション。

レジストリでのアクセス許可の変更には管理者のアクセス許可が必要な場合があるため、[常に選択したものを使用する]がグレー表示される場合があります。確認するには、コマンドプロンプト(cmd)を「管理者として実行」し、次のように入力します。

%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\Shell32.dll,OpenAs_RunDLL xxx.mp3

これにより、ダミーのmp3ファイルで[デフォルトプログラムの選択]ダイアログが開きます。

「常に選択したものを使用する」がグレー表示されなくなっているかどうかを確認します。これが事実である場合、あなたの質問は答えられており、これはMPlayerによる(またはそうではない)正直なエラーの結果です。

0
harrymc