Answers:
在“运行”对话框中执行命令时,系统将在App Paths
此处查看注册表项:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
和
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
例
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\filezilla.exe
(default)
值数据具有可执行文件的完整路径。
如果找不到,它将查看PATH中包含的每个文件夹。
而命令提示符未引用这些注册表项。它仅搜索PATH。
HKCR\Applications
和RegisteredApplications
start
搜索应用程序路径的内置函数。
w32sh的答案正确指出“运行”对话框搜索的其他键在这里:
关于这些键的一个重要事实是,键的名称(例如“ filezilla.exe”)不必以任何方式匹配完整路径。在Windows 7下,该值甚至可以是一个简单的命令行,类似于可用作快捷方式的“目标”的命令行。
例如,我以前在我的注册表中有这个:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\jedit.exe]
@="\"C:\\WINDOWS\\system32\\javaw.exe\" -Xms24M -Xmx512M -jar \"C:\\Program Files\\jEdit\\jedit.jar\" -reuseview"
我似乎无法在Windows 10中实现此功能,但是您仍然可以指向任何文件,包括批处理文件,例如
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\jedit.exe]
@="C:\\Program Files\\jEdit\\run-jedit.bat"
这使您可以键入“ jedit”或“ jedit C:\ foo \ bar \ something.txt”以使用适当的选项运行JVM并启动/重用jEdit。
据我所知,密钥名称必须以“ .exe”结尾,因此要创建别名“ abc”,就必须创建一个密钥“ abc.exe”,即使它没有指向“ .exe”文件也是如此。 。