当我尝试使用start
未指定路径的命令启动程序时,对于某些程序它可以工作,但对于某些程序它却不工作。
我知道如果这些程序在我的 PATH 列表或当前目录中,我就不必输入路径。
但start
命令对某些程序有效,即使它们不在当前目录或我的 PATH 列表中。这是什么原因造成的?
答案1
它搜索应用程序路径注册表项。
查找应用程序可执行文件
当。。。的时候ShellExecuteEx函数被调用时,其内容是可执行文件的名称lp文件参数,函数会在多个位置查找文件。我们建议在
App Paths
注册表子项。这样做可以避免应用程序修改系统PATH
环境变量。该文件位于以下位置:
- 当前工作目录。
- 这
Windows
仅目录(不搜索子目录)。- 这
Windows\System32
目录。- 环境变量中列出的目录
PATH
。- 受到推崇的:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths