GetModuleFileName function
25 out of 60 rated this helpful - Rate this topic
Retrieves the fully qualified path for the file that contains the specified module. The module must have been loaded by the current process.
To locate the file for a module that was loaded by another process, use the GetModuleFileNameEx function.
Syntax
C++
DWORD WINAPI GetModuleFileName(
Inopt_ HMODULE hModule,
Out LPTSTR lpFilename,
In DWORD nSize
);
Parameters
hModule [in, optional]
A handle to the loaded module whose path is being requested. If this parameter is NULL, GetModuleFileName retrieves the path of the executable file of the current process.
The GetModuleFileName function does not retrieve the path for modules that were loaded using the LOADLIBRARYAS_DATAFILE flag. For more information, see LoadLibraryEx.
lpFilename [out]
A pointer to a buffer that receives the fully qualified path of the module. If the length of the path is less than the size that the nSize parameter specifies, the function succeeds and the path is returned as a null-terminated string.
If the length of the path exceeds the size that the nSize parameter specifies, the function succeeds and the string is truncated to nSize characters including the terminating null character.
Windows XP: The string is truncated to nSize characters and is not null-terminated.
The string returned will use the same format that was specified when the module was loaded. Therefore, the path can be a long or short file name, and can use the prefix "\?\". For more information, see Naming a File.
nSize [in]
The size of the lpFilename buffer, in TCHARs.