posted at 2015-06-22 16:30:22 +0000
本文介绍了在标准C++与VC++下的获得当前可执行文件的路径方法。
函数原型:
char getcwd(char dir,int len)
函数功能: 得到当前路径名称
函数返回: 指向dir的指针 参数说明:
len
是路径最大长度.dir
是路径字符串.所属文件: dir.h (这个头文件可能被命名为 direct.h 或者其他)
示例代码:
#include"stdio.h"
#include"dir.h"
int main()
{
char buffer[MAXPATH];
getcwd(buffer, MAXPATH);
printf("The current directory is: %s", buffer);
return 0;
}
函数:DWORD WINAPI GetModuleFileName(In_opt HMODULE hModule,Out LPTSTR lpFilename,In DWORD nSize); 功能:获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载。如果想要获取另一个已加载模块的文件路径,可以使用GetModuleFileNameEx函数。
参数说明:
hModule
一个模块的句柄。可以是一个DLL模块,或者是一个应用程序的实例句柄。如果该参数为NULL,该函数返回该应用程序全路径。lpFileName
指定一个字串缓冲区,要在其中容纳文件的用NULL字符中止的路径名,hModule模块就是从这个文件装载进来的nSize Long
装载到缓冲区lpFileName的最大字符数量 示例代码:
include<>
include<>
BOOL CreateSampleService() {
TCHAR szPath[MAX_PATH];
if( !GetModuleFileName( NULL, szPath, MAX_PATH ) ) {
printf("GetModuleFileName failed (%d)n", GetLastError());
return FALSE;
}
return TRUE;
}
//如果想获得某个正在运行的EXE或者DLL的全路径可以这样写代码
GetModuleFileNameEx(hProcess,hInst,lpFile,MAX_PATH);//注意下缓冲区就行了。
© kanch
→ zl AT kanchz DOT com
last updated on 2022-07-27 01:57:54 +0000