技术 / 方法

技术 / 方法

我尝试在电脑上观看 DVD。我将其放入电脑并启动 VLC,但后来,当我尝试倒带时,它像往常一样崩溃了。

当然,我打开了我的电脑使用 VLC 播放 DVD。不幸的是,当我选择 DVD 驱动器并按下 时Enter,它并没有像我预期的那样运行 VLC,而是运行了光盘上的某种程序。

我绝对不想让索尼在我的系统上运行一个程序。当然,它(据说)只是一个 Shockwave 投影仪程序,但我不完全是 相信他们。此外,我甚至不喜欢或不关心被删除的场景,更不用说程序提供的任何无用的“奖励材料”(通常只是壁纸、铃声和其他同样毫无意义的垃圾)。

无论如何,我对该程序感到惊讶,因为我已经专门为各种媒体设置了默认程序和操作。我右键单击 DVD 驱动器,发现默认操作是运行增强内容

首先,我检查了自动播放设置和光盘播放时的默认操作插入确实设置为 VLC。问题是,这对您在右键单击 DVD 驱动器时看到的上下文菜单没有影响我的电脑(或者更糟的是,按下Enter)。

当然,我的下一个反应是检查注册表并删除运行增强内容条目。不幸的是,没有。我检查了HKCR\DVD\shell,但默认操作是PlayWithVLC,并且没有任何可以对应于运行“增强”光盘程序的操作。(事实上,我放入了另一张 DVD,它肯定没有这样的内容,但 Explorer 仍然向我显示菜单条目,毫不奇怪,使用它会出现无法运行不存在的程序的错误。)

有人知道如何禁用或删除菜单项吗?

DVD 增强内容菜单项的屏幕截图

答案1

技术 / 方法

事实证明,微软以其无穷的“智慧”创造了这种动态,这意味着它很难修复(至少很难干净地修复)。

每当您连接媒体设备(CD、DVD、闪存驱动器、存储卡、iPod 等)时,Explorer 都会读取该设备并确定一组可对其执行的操作,包括从光盘中提取的自动运行操作。然后,它会在 下创建一个注册表项HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2。将有一些 GUID 对应于不同的媒体设备,与相关光​​盘驱动器相对应的 GUID 将获得一个AutoRun包含字符串的键运行增强内容。当您右键单击驱动器时,修改此字符串会反映在资源管理器中。删除此项会使上下文菜单项消失。

问题

问题是,当你弹出光盘时,Explorer 会自动删除子项本身,并且重现每当您插入包含“增强内容”的光盘时,它都会出现。

测试

检查分支中的相关键后,我发现一些键包含一个名为 的子键_Autorun。我凭直觉为我的 DVD 驱动器创建了一个子键,怀疑它可能是某种标志,用于告诉 Explorer 该设备的 AutoRun 已禁用。遗憾的是,它不起作用;当我插入光盘时,Explorer 会将其删除。

潜在解决方案

另一个可能的解决方案是完全禁用自动运行(但不禁用自动播放)。你应该能够通过使用程序(TweakUI 在 XP 中就是这样做的)或者通过设置以下注册表项:

[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff

如果这对您有用,那就太好了,但如果没有(在我的测试中没有用),那么您必须尝试一些更极端的方法。

黑客解决方案

一个选项是删除AutoRun子项,然后从父Shell项中删除权限,这样 Explorer 就无法重新创建它了。我试过了,果然,当我弹出并重新插入光盘时,菜单项不再提供。

问题在于,有问题的驱动器无法正确响应任何自动运行或自动播放,恢复该功能需要添加权限并删除密钥Shell

这虽然不是最理想的,但至少它可以强制资源管理器对所有驱动器使用控制面板中指定的操作,而不是让用户面临每个磁盘的潜在漏洞。

概括

这是我目前正在使用的解决方案,但如果有人能找到更干净的设置,那就更好了。

有罪登记条目的屏幕截图

相关内容