函数
GLibfind_program_in_path
声明 [src]
gchar*
g_find_program_in_path (
const gchar* program
)
描述 [src]
按照 execvp()
定位其的方式,在用户的路径中定位第一个名为 program
的可执行文件。返回一个已分配的字符串,其中包含绝对路径名,如果路径中未找到该程序,则返回 NULL
。如果 program
已是绝对路径,则如果 program
存在并且可执行,则返回 program
的副本,否则返回 NULL
。
在 Windows 上,如果 program
没有文件类型后缀,则尝试使用后缀 .exe、.cmd、.bat 和 .com,以及 PATHEXT
环境变量中的后缀。
在 Windows 上,它会以与 CreateProcess() 相同的方式查找文件。这意味着首先在从中加载可执行程序的目录中,然后在当前目录中,然后在 Windows 32 位系统目录中,然后在 Windows 目录中,最后在 PATH
环境变量中的目录中。如果找到该程序,则返回值包含包括类型后缀在内的完整名称。