C++写的服务程序,如何获得当前执行程序所在目录
如果以控制台运行,GetCurrentDirectory和GetModuleFileName就可以当前目录和执行的程序路径,但一注册到服务GetCurrentDirect...
如果以控制台运行,GetCurrentDirectory和GetModuleFileName就可以当前目录和执行的程序路径,但一注册到服务GetCurrentDirectory得到的值就变成c:\windows\system32了,怎么才能在服务状态下得到执行程序的所在目录呢?
顺便问一下,rc资源文件怎么在工程里删除
GetModuleFileName 用这个去分析出路径的方法就多了,也用不着用循环判断,字符串函数就可以解决了,自己已经解决了,GetCurrentDirectory是得不到的 展开
顺便问一下,rc资源文件怎么在工程里删除
GetModuleFileName 用这个去分析出路径的方法就多了,也用不着用循环判断,字符串函数就可以解决了,自己已经解决了,GetCurrentDirectory是得不到的 展开
2个回答
展开全部
char szPathTemp[512];
GetModuleFileName(NULL, szPathTemp, 512);
//取出文件路径
for (int i=strlen(szPathTemp); i>=0; i--)
{
if (szPathTemp[i] == '\\')
{
szPathTemp[i] = '\0';
break;
}
}
这样试试,我用没问题
GetModuleFileName(NULL, szPathTemp, 512);
//取出文件路径
for (int i=strlen(szPathTemp); i>=0; i--)
{
if (szPathTemp[i] == '\\')
{
szPathTemp[i] = '\0';
break;
}
}
这样试试,我用没问题
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取当前目录的方法有很多,其中之一:
TCHAR szFilePath[MAX_PATH + 1];
GetModuleFileName(NULL, szFilePath, MAX_PATH);
(_tcsrchr(szFilePath, _T('//')))[1] = 0; //删除文件名,只获得路径
CString str_url = szFilePath; //str_url 中保存的是当前目录
TCHAR szFilePath[MAX_PATH + 1];
GetModuleFileName(NULL, szFilePath, MAX_PATH);
(_tcsrchr(szFilePath, _T('//')))[1] = 0; //删除文件名,只获得路径
CString str_url = szFilePath; //str_url 中保存的是当前目录
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询