Locates the first executable named
program in the user’s path, in the
same way that
execvp() would locate it. Returns an allocated string
with the absolute path name, or
NULL if the program is not found in
the path. If
program is already an absolute path, returns a copy of
program exists and is executable, and
On Windows, if
program does not have a file type suffix, tries
with the suffixes .exe, .cmd, .bat and .com, and the suffixes in
PATHEXT environment variable.
On Windows, it looks for the file in the same way as CreateProcess()
would. This means first in the directory where the executing
program was loaded from, then in the current directory, then in the
Windows 32-bit system directory, then in the Windows directory, and
finally in the directories in the
PATH environment variable. If
the program is found, the return value contains the full name
including the type suffix.
A program name in the GLib file name encoding.
The data is owned by the caller of the function. The value is a file system path, using the OS encoding.