我不完全确定这是如何工作的。所以我可以通过注册表编辑器将项目添加到“新”上下文菜单(右键单击或按下菜单按钮时出现)。例如,如果我想创建一个新的 .cpp 文件条目,我可以导入一个如下所示的 .reg 文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.cpp]
@="cpp"
[HKEY_CLASSES_ROOT\.cpp\ShellNew]
"NullFile"=""
[HKEY_CLASSES_ROOT\cpp]
@="C++ File"
Run Code Online (Sandbox Code Playgroud)
因此,我可以使用此方法设置扩展名和为其显示的描述。但是,我不确定我的描述旁边出现的图标是如何决定的。这就是我的意思:
我不确定 Windows 是否根据我设置为该扩展的默认程序自动选择这张图片,或者是否可以在注册表中手动设置。
这个图标可以手动设置吗?
所以我刚刚在我的桌面上创建了一个带有新扩展名的文件,这就是它的上下文菜单的样子:
我可以使用键盘上的菜单键调出上下文菜单,然后我实际上可以通过按键来选择上下文菜单中的一些项目。当然,这让我有机会创建一些键盘快捷键。但是,我不太明白它们是如何工作的。以下面的例子为例。
如果我创建一个名为“item.newextension”的文件,然后导入以下注册表文件:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.newextension\shell\Edit\command]
@="notepad.exe \"%1\""
[HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.newextension\shell\Contemplate\command]
@="mspaint.exe \"%1\""
Run Code Online (Sandbox Code Playgroud)
我得到了一些不一致和有趣的结果。为了在同一页面上,现在我的上下文菜单如下所示:
如果我打开上下文菜单并按“e”键,记事本会立即打开。此外,如果我打开上下文菜单并按“c”键,上下文菜单会在“考虑”和“复制”之间切换,但在我按 Enter 之前不会选择任何一个。
所以我意识到,如果你仔细观察,上下文菜单条目中的每个字母下方都有一条小线,对应于需要按下哪个键来选择它,当有重叠时,重复按下该键会在两者之间切换。所以我有几个问题:
我在 Windows 10 1803 Build 17134 上供参考。
windows windows-registry keyboard-shortcuts context-menu windows-10