Answers:
简短的答案是:非常困难。
更长的答案:
在注册表中HKEY_CLASSES_ROOT下,您将找到每个已注册文件扩展名的条目。您需要向每个要处理的文件扩展名添加一个名为“ OpenWithProdids”的密钥。然后,在此键内,您需要一个字符串值,其中名称是HxD的ProgId。
但是,有一种更简单的方法。如果您在C:\ Users \\ AppData \ Roaming \ Microsoft \ Windows \ SendTo中放置HxD的快捷方式,则对于系统中的任何文件,您都可以右键单击,然后从上下文菜单中选择Send To-> HxD。
这可能是不正确的,但是以这种方式进行的工作应该会起作用。
REGEDIT4
[HKEY_CLASSES_ROOT\HxD]
[HKEY_CLASSES_ROOT\HxD\shell]
[HKEY_CLASSES_ROOT\HxD\shell\open]
[HKEY_CLASSES_ROOT\foo\shell\open\command]
@="\"C:\\Program Files\\Application\\HxD.exe\" \"%1\""
这样做(类似)应添加一个上下文菜单(但实际上我发布的菜单中可能不存在该菜单),该菜单应针对每种文件类型显示,从而允许您使用HxD打开文件。
Vim为此提供了针对所有文件类型的“使用Vim编辑”上下文菜单。
(还有其他注册表项也可以完成相同的事情。)
更有知识的人应该能够提出实际的工作解决方案。
打开未知文件类型时,将显示默认程序列表。如果文件已经关联,则必须转到“打开方式”菜单。展开以查看默认程序的完整列表。批处理脚本的片段,该片段将foobar添加到默认程序列表中:
reg add "HKCU\Software\Classes\*\OpenWithList\foobar2000.exe" /f
reg add "HKCU\Software\Classes\Applications\foobar2000.exe\shell\open\command" /ve /d "\"%SCRIPTDIR%media\foobar2000\foobar2000.exe\" \"%%1\"" /f
这将在上下文菜单上创建一个新的“使用记事本打开”项。“打开方式”比“发送至”更直观(更正确)。而且,它不需要向下钻取子菜单。
双击右侧窗格中的(默认)值,然后输入以下内容:
notepad.exe%1
这可以在Windows 8.1中使用,因此不确定Windows7。我不知道您通往HxD的路径在哪里,所以我只在下面举例说明。替换下面的应用程序位置,并在Applications \ HxD.exe中,将HxD.exe替换为将要运行的可执行文件的名称。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\HxD.exe]
[HKEY_CLASSES_ROOT\Applications\HxD.exe\shell]
[HKEY_CLASSES_ROOT\Applications\HxD.exe\shell\edit]
[HKEY_CLASSES_ROOT\Applications\HxD.exe\shell\edit\command]
@="C:\\Program Files (x86)\\HxD\\HxD.exe %1"
[HKEY_CLASSES_ROOT\Applications\HxD.exe\shell\open]
[HKEY_CLASSES_ROOT\Applications\HxD.exe\shell\open\command]
@="C:\\Program Files (x86)\\HxD\\HxD.exe %1"