用C语言获取正在运行的这个程序的路径,这个程序就是用C语言写的。Windows平台下面的。
To retrieve the name of the main executable module for a remote process, use the GetProcessImageFileName or QueryFullProcessImageName 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.
1 回答1.3k 阅读
1 回答1.1k 阅读
1 回答916 阅读
863 阅读
814 阅读
731 阅读
664 阅读
main函数的参数中[int main(int argc, char **argv)]中的 argv[0]就是当前的环境变量值,你说说的是这个么?