当选择多项时 Shell 上下文菜单选项不起作用

当选择多项时 Shell 上下文菜单选项不起作用

我添加了一个选项,通过添加以下注册表项,使用右键单击上下文菜单静默注册 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 个项目。

希望这对其他人有所帮助,如果有人知道如何恢复提示,我将不胜感激

相关内容