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

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

将我的 MP3 文件与播放器使用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 媒体播放器它不会被阻止。为什么会这样?我能事先避免这种情况吗(幸运的是,我已经知道事后修复它的方法了)?

另一个观察结果:阻止程序(我设法通过与视觉工作室以及)不会出现在Recommended Programsopen-with-dialogue 中(并且探险家说:“当前的程序不推荐,但我不会让你更改它,哈!”)。

截图:

截屏

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


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

  1. 使用默认程序

    控制面板->默认程序->设置默认程序, 选择理财产品选择此程序的默认值, 查看.mp3

    这应该会将文件与 Windows Media Player (WMP) 重新关联,您可以在Windows资源管理器

  2. 使用注册表(一如既往,除非您知道自己在做什么,或者您不介意意外破坏系统,否则请不要插手):

    键值对->软件->微软->视窗->当前版本->探索者->文件扩展名>.mp3

    例如,您可以在此处清理打开方式列表,当前的默认程序似乎也保存在此处的键中UserChoice。在那里,您可以将字符串更改ProgId为另一个应用程序,然后可以通过输入将其与 WMP 关联,WMP11.AssocFile.MP3或者直接选择另一个应用程序。

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

(因为我现在有三个答案没有回答这个问题:这个问题是不是让协会重新运转起来。我不喜欢对抗症状,我更喜欢治愈。

答案1

似乎论坛帖子无法设置文件关联-选项变灰有答案:

HKEY_CLASSES_ROOT\应用程序\regedit.exe有一个REG_SZ0value 称为 NoOpenWith

检查您的注册表中是否有该值。

如果是这样,那么真正的问题是:为什么会有这样的值以及哪个程序设置了它?

答案2

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
    
  2. 在右侧窗格中,更改“默认“键如下:

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

    笔记:我们仅附加了%2最后是默认值。您可以使用 2 至 9 之间的任何数字。

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

    打开_禁用_.jpg

方法 B

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

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

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

  2. 现在在右侧窗格中创建一个新的 DWORD 值无文件关联并将其值设置为1

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

    打开_与_不可见.jpg

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

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

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

就是这样:

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

答案3

看起来好像有什么东西正在锁定注册表项以防止它被修改。

有几种可能性:注册表项或项上的权限由当前用户以外的其他人拥有(可能在安装期间已设置);某些程序正在定期运行以检查和重置权限;或者某些程序正在主动监视项以防止修改。

首先检查密钥上的权限,看看是否是权限问题。您可能必须以管理员身份运行 regedit。(开始 -> 在搜索框中输入 regedit,然后右键单击并选择“以管理员身份运行”)。可能存在一些明显的问题,例如您的用户帐户没有写权限。添加适当的权限,看看是否能解决问题。

如果没有,或者权限在重启或一段时间后消失,你需要深入挖掘一下。我会先本文,安装进程监视器,并启用启动日志记录。这将告诉您在启动过程中是否有东西设置了密钥。如果是定期重置,您可以在手动将注册表值更改为您想要的值后让进程监视器保持运行,以捕获任何干扰设置的内容。

与往常一样,在修改注册表时要小心谨慎。在更改任何内容之前请先进行备份,因为可能会导致系统无法使用。

答案4

我们来试试这个:

  1. 打开 Regedit.exe
  2. 导航到子项HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts

  3. 向下滚动并找到有问题的文件扩展名(.mp3)。

  4. 展开它来查看其子键。

  5. 找到名为“UserChoice”的子键并将其删除。

对每个导致问题的文件扩展名重复步骤 3 至 5

来源:Stack Overflow 问题的答案如何在打开方式对话框中启用“始终使用选定的程序打开此类文件”选项?

相关内容