C++获取当前可执行程序(*.exe)所在的路径

发布时间:2012-12-05 14:18:49

 

我们在写程序时经常有这样一种应用的需求:在exe可执行文件所在的目录下进行一些与该程序相关的文件存储操作。当程序运行时就修要知道可执行程序安装在当前用户系统中的那个目录下。主要就是利用GetModuleFileName()这个函数去实现的。
 
具体用法如下: 
 
 TCHAR exeFullPath[MAX_PATH]; // MAX_PATH在WINDEF.h中定义了,等于260
 memset(exeFullPath,0,MAX_PATH);
 
 GetModuleFileName(NULL,exeFullPath,MAX_PATH);
 char *p = strrchr(exeFullPath, '//');
 *p=0x00;
 
此时exeFullPath[]的值就是当前程序运行时的EXE文件所在的路径了。
 
GetModuleFileName函数的定义如下:
 
WINAPI DWORD GetModuleFileName(
  HMODULE hModule,
  LPWSTR lpFilename,
  DWORD nSize
);
c++