Windows运行对话框如何找到可执行文件?


19

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

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

无法将“ firefox”识别为内部或外部命令,可操作程序或批处理文件。

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

Answers:


29

显然,运行对话框不仅检查%path%环境变量,还检查“应用程序路径”注册表项。摘自关于运行对话框的techrepublic文章

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

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


谢谢,我对同一件事(Firefox)感到困惑,您的回答很好地说明了这一点。
Adam Plocher 2013年

另外,不要忘记检查HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths。我也遇到了这个问题,因为我安装了Beta + Canary版本的Chrome,但不了解Canary为什么要打开,却没有稳定版本的chrome,尽管两者都没有%PATH%。原来,这个答案帮助,但它是在HKCU替代的HKLM
chunk_split

1
@chunk_split谢谢,答案更新了
wcoenen

2

在较新版本的Windows上,“运行”对话框也将运行在开始菜单中找到的快捷方式。我不确定何时开始工作……它可能可以追溯到Windows 95,尽管我认为不是。

编辑:这个答案是错误的。正确的答案是应用路径注册表项,如上所述。


我相信这是XP,但不确定。
BBlake,

1
这似乎不是正确的解释。我可以在开始菜单(例如TrueCrypt)中找到无法通过运行对话框启动的应用程序的计数器示例。
wcoenen

即使在最新版本的Windows中,“运行”对话框也保持不变。不过,“开始”菜单中的搜索框是另一回事。但这更多是一个搜索框,它也可以运行在PATH中找到的程序。
乔伊,

如果这是错误的,那么您应该删除它。虽然,老实说,这对我来说似乎是预期的行为。
287352年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.