Boost 获取服务程序路径尚未解决

    Boost库获取程序路径的代码:boost::filesystem::initial_path<boost::filesystem::path>().string();

这个代码段只能获取到可执行程序控制台启动的路径,但是如果以服务形式启动,获取到的路径是C:\Windows\System32,目前暂时没有办法获取到可执行程序的绝对路径,目标是跨平台程序的开发


提供获取到当前可执行程序的目录代码:

std::string GetCurDirPath()
{
 char szPath[MAX_PATH];
 GetModuleFileName(NULL, szPath, MAX_PATH);
 char drive[4];
 char subdir[MAX_PATH];
 char fn[MAX_PATH];
 char exten[MAX_PATH];
 _splitpath(szPath, drive, subdir, fn, exten);
 std::string strFilePathName = drive;
 strFilePathName += subdir;
 return strFilePathName;
}

猜你喜欢

转载自blog.51cto.com/fengyuzaitu/2512851