为什么某些默认应用程序关联被“锁定”?

H.B*_*.B. 13 windows-7 file-association

在使用对话将我的 MP3 文件与MPlayer相关联后,我Open with/Choose default program...无法再使用所述对话更改该关联,Always use this [...]此后复选框始终为灰色(Control Panel -> Default Programs -> Associate a file type or protocol with a program也不让我更改它,它似乎只是使用相同的对话)。

MP4 文件也会发生这种情况,但例如 MKV 不会发生这种情况,如果我将我的 MP3 文件与其他应用程序(如VLC 媒体播放器)相关联,它不会被阻止。为什么会这样,我可以事先避免这种情况吗(谢天谢地,我已经知道事后修复它的方法)?

另一个观察:阻止程序(我也设法通过与Visual Studio的关联阻止了它)没有出现在Recommended Programs打开对话的对话框中(并且资源管理器说:“不推荐当前程序,但我赢了不让你改,哈!”)。

截图:

截屏

正如您在左上角看到的(如果您知道 MPlayer 的图标),该文件当前与 MPlayer 相关联。


修复方法(注意:这个问题不是关于修复它):

  1. 使用默认程序

    控制面板->默认程序->设置默认程序,选择WMP为此程序选择默认值,选中.mp3

    这应该将文件与 Windows Media Player (WMP) 重新关联,您可以在Windows Explorer 中创建新关联。

  2. 使用注册表(与往常一样,除非您知道自己在做什么,或者如果您不小心破坏了系统,否则请远离它):

    HKEY_CURRENT_USER -> Software -> Microsoft -> Windows -> CurrentVersion -> Explorer -> FileExts > .mp3

    例如,您可以在此处清理 open-with-list,当前默认程序似乎也保存在此处的 key 中UserChoice。在那里您可以将ProgId字符串更改为另一个应用程序,您可以通过输入WMP11.AssocFile.MP3或立即选择另一个应用程序将其与 WMP 相关联。

    但是,如果您无法更改该ProgId值,您可能需要弄乱密钥的权限。

(因为我现在有三个没有回答这个问题的答案:这个问题不是让协会再次运作。我不喜欢对抗症状,我更喜欢治愈。)

wiz*_*log 1

MPlayer 可能会编辑注册表,更改/创建您之前提到的注册表项(HKEY_CURRENT_USER > Software > Microsoft > Windows > CurrentVersion > Explorer > FileExts > .mp3)。

下面我将有两个单独的东西你应该看看(其中一个有两个部分,方法 A 和方法 B) 适用于 Windows Vista、7 或 Server 2008

方法A

  1. 在“运行”对话框中键入 regedit,然后按 Enter。现在转到:

    HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在右侧窗格中,将“默认”键的值更改为如下:

    %SystemRoot%\system32\rundll32.exe
    %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1 %2
    
    Run Code Online (Sandbox Code Playgroud)

    注意:我们仅在默认值的最后附加了%2 。您可以使用 2 到 9 之间的任何数字。

  3. 退出注册表编辑器并尝试打开“打开方式”对话框。您会发现该复选框现在被禁用,如以下屏幕截图所示:

    打开_with_disabled.jpg

方法B

  1. 在“运行”对话框中键入 regedit,然后按 Enter。现在转到:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
    
    Run Code Online (Sandbox Code Playgroud)

    如果“Explorer”键不存在,请手动创建它。

  2. 现在,在右侧窗格中,创建一个新的 DWORD 值NoFileAssociate并将其值设置为1

  3. 退出注册表编辑器并尝试打开“打开方式”对话框。您会发现该复选框现在已完全删除,如以下屏幕截图所示:

    打开_with_invisible.jpg

注意:如您所见,当我们使用方法 A 禁用该复选框时,“打开方式”对话框不会像我们使用方法 B 时那样显示推荐程序列表。此外,如果您看到 Windows Vista 的最后一个屏幕截图,方法 B 完全删除该复选框而不是禁用它。

额外提示:本教程也可以在相反的情况下使用。例如,如果您的 Windows 中已禁用此复选框,而您想要启用它,则可以删除方法 A 中提到的%2 ,或如方法 B 中所述将 DWORD 值设置为0 。

注意事项 2:为了防止注册表项被修改,您可以限制权限(安装 MPlayer 后可能需要执行此操作)。

就是这样:

  1. 导航到您要更改的注册表项(然后单击它)。
  2. 单击编辑(在顶部菜单上)。
  3. 单击权限。
  4. 单击高级。
  5. 选择适当的组(例如系统、管理员(...)
  6. 单击编辑。
  7. 拒绝“设置值”权限。
  8. 单击“确定...”并关闭刚刚打开的所有窗口。