求助:如何求取程序执行的路径名
在c++中,如何求取程序执行的路径名?用GetModuleFileName得到e:\a\b\c\ee.exe,若只想得到e:\a\b\c\该如何做?除了用GetModuleFileName函数以外,还有其他的方法吗?
望高手指点,谢谢!
[解决办法]
WCHAR szPath[MAX_PATH] = {};
GetModuleFileName(NULL, szPath);
PathAppend(szPath, L"..");
try...
[解决办法]
TCHAR tchBuffer[MAX_PATH ];
LPTSTR lpszCurDir;
lpszCurDir = tchBuffer;
GetCurrentDirectory(MAX_PATH , lpszCurDir);
MessageBox(lpszCurDir);
#include <Windows.h>
#include <stdio.h>
#include <Shlwapi.h>
#include <tchar.h>
#pragma comment(lib,"shlwapi.lib")
int main()
{
char chPath[MAX_PATH] = {0};
TCHAR szPath[MAX_PATH] = {0};
// 获取当前exe文件所在的路径
GetModuleFileName(NULL,szPath,MAX_PATH); // 如c:\test\tt.exe
WideCharToMultiByte(CP_ACP,0,szPath,MAX_PATH,chPath,MAX_PATH,NULL,NULL);
printf("the Path:%s\n",chPath); // c:\test\tt.exe
// 分离当前路径,获取目录
PathRemoveFileSpec( szPath ); // c:\test
WideCharToMultiByte(CP_ACP,0,szPath,MAX_PATH,chPath,MAX_PATH,NULL,NULL);
printf("the Directory:%s\n",chPath); // c:\test
return 0;
}