Windows 运行对话框如何定位可执行文件?

wco*_*nen 20 windows run-dialog

当我在 Windows 运行对话框中输入“firefox”时(即点击windows+时出现的对话框R),firefox 将启动。

但是,“firefox.exe”不在我的文件中,%path%因为当我在 中键入“firefox”时cmd.exe,我得到

'firefox' 不是内部或外部命令,也不是可运行的程序或批处理文件。

因此,显然不需要在窗口%path%中找到可执行文件即可被运行对话框发现。这是如何运作的?

wco*_*nen 32

显然,运行对话框不仅会检查 %path% 环境变量,还会检查“App Path”注册表项。来自关于运行对话框的 techrepublic 文章

您可以通过在打开文本框中键入可执行文件的名称并单击确定来启动某些第三方应用程序,即使这些应用程序的路径没有出现在路径环境变量中。这是可能的原因是因为某些应用程序的安装过程将可执行文件的路径添加到名为 App Paths 的特殊注册表项中。

注册表中的相关位置是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App PathsHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths(最后一个特定于用户)。您可以使用 regedit 在那里添加您自己的“应用程序路径”。