![当选择多项时 Shell 上下文菜单选项不起作用](https://linux22.com/image/1249563/%E5%BD%93%E9%80%89%E6%8B%A9%E5%A4%9A%E9%A1%B9%E6%97%B6%20Shell%20%E4%B8%8A%E4%B8%8B%E6%96%87%E8%8F%9C%E5%8D%95%E9%80%89%E9%A1%B9%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我添加了一个选项,通过添加以下注册表项,使用右键单击上下文菜单静默注册 dll:
[HKEY_CLASSES_ROOT\dllfile\shell\Register\command]
@="c:\\windows\\system32\\regsvr32.exe \"%1\" -s"
我在 XP 中使用它。在 XP 中,当我选择许多 (200) 个 dll 并右键单击它们时,我将获得“注册”选项,并且可以一次性注册它们,而且没有任何提示。我在我的 Win7 x64 计算机上尝试过同样的操作,当我选择一个或几个 dll 文件时,它可以工作,但是一旦我选择超过 15 个文件,注册选项就不会再出现在上下文菜单中。
这是为什么?我该如何解决?
答案1
啊哈,看来我已经能够回答我自己的问题了:
关键是添加一个新的注册表项:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"MultipleInvokePromptMinimum"=dword:00000010
当选择了大量项目时,它会禁用删除选项的安全功能,尽管它过去会在 XP 中提示我,但现在不会了,以防万一这将会很好...
这微软网站上的文档网站说将其设置为 16(如上所述)应该可以将其视为无限制,但根据我的经验,这并不奏效。将其设置为 16 允许我一次注册最多 16 个项目。一旦我选择了超过 16 个项目,它只会注册我右键单击的 1 个项目。我发现通过将注册表设置为更高的值,我能够在那么多多个项目上运行它,因此将其设置为:
"MultipleInvokePromptMinimum"=dword:00000011
允许我一次注册最多 17 个项目并将其设置为
"MultipleInvokePromptMinimum"=dword:000001f4
允许我一次注册最多 500 个项目。
希望这对其他人有所帮助,如果有人知道如何恢复提示,我将不胜感激