取当前执行文件的路径

服务可以通过命令行启动,亦可以部署到管理工具-》服务,运行服务的时候,要取.exe文件的当前路径,并将路径解析为 ‘\\’的。

WCHAR szEngineName[100] = L"UUUU";

WCHAR szEnginePath[MAX_PATH] = L""; 

::GetModuleFileNameW(NULL, szEnginePath, MAX_PATH);
wchar_t* pTmp = _tcsrchr(szEnginePath, _T('\\')); //取最后一个\的指针。
pTmp++;

wcscpy(szEngineName+wcslen(szEngineName), L".exe");
wcscpy(pTmp, m_cEngineName);
pTmp += wcslen(m_cEngineName);
*pTmp = 0;

//当前得到的字符串为"E:\YYY\UUUU.exe";

std::wstring org = L"\\";
std::wstring repl = L"\\\\";


std::wstring szwstrPath = szEnginePath;
int pos = szwstrPath.find(org);
while(pos != -1)
{
szwstrPath.replace(pos, org.length(), repl);
pos = szwstrPath.find(org, pos+repl.length());

}

printf("当前服务运行路径 %s", szwstrPath.c_str().);

//当前得到的字符串为"E:\\YYY\\UUUU.exe";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值