windwos下,想要獲取當前工作路徑是一件非常簡單的事情,但是如果在服務程序中想要獲取當前exe所在的工作路徑,那麼就需要特別處理一下了,下面是我常用的代碼,用來獲取服務所作的工作目錄:
void GetAbsoluteDirectory(char *cTopSkyFileName)
{
int nLen = 0;
int i = 0;
GetModuleFileName(NULL, cTopSkyFileName, MAX_PATH);
nLen = strlen(cTopSkyFileName);
nLen = strlen(cTopSkyFileName);
for (i = nLen - 1; i > 0; i--)
{
if ('/' == cTopSkyFileName[i] || '\\' == cTopSkyFileName[i])
{
return;
}
else
{
cTopSkyFileName[i] = 0;
}
}
return;
}
通過參數返回的cTopSkyFileName中就是當前服務的工作路徑