您的位置:首页 > 其它

几个非常有用的函数-获取可执行文件所在的目录及读取配置文件

2011-01-28 23:44 686 查看
// 取得Exe所在的目录(不包含最后的"\")
CString GetExePath()
{
char sFileName[256] = {0};
CString sPath = _T("");

GetModuleFileName(AfxGetInstanceHandle(), sFileName, 255);
sPath.Format("%s", sFileName);
int pos = sPath.ReverseFind('\\');
if(pos != -1)
sPath = sPath.Left(pos);
else
sPath = _T("");

return sPath;
}

void ReadKeyValue(LPCSTR lpSection, LPCSTR lpKey, LPCTSTR lpDefault, CString &sDest, LPCTSTR sConfigFile)	// 读取字符串
{
char sValue[500] = {0};
GetPrivateProfileString(lpSection, lpKey, lpDefault, sValue, 499, sConfigFile);
sDest = sValue;
}

void ReadKeyValue(LPCSTR lpSection, LPCSTR lpKey, int nDefault, UINT &nDest, LPCTSTR sConfigFile)			// 读取整数
{
nDest = GetPrivateProfileInt(lpSection, lpKey, nDefault, sConfigFile);
}

void ReadKeyValue(LPCSTR lpSection, LPCSTR lpKey, int nDefault, BOOL &nDest, LPCTSTR sConfigFile)			// 读取BOOL数据
{
UINT nTemp;
nTemp = GetPrivateProfileInt(lpSection, lpKey, nDefault, sConfigFile);
nDest = nTemp != 0;
}


若有需要,再添加对这几个函数的声明:

CString GetExePath();
void ReadKeyValue(LPCSTR lpSection, LPCSTR lpKey, LPCTSTR lpDefault, CString &sDest, LPCTSTR sConfigFile);
void ReadKeyValue(LPCSTR lpSection, LPCSTR lpKey, int nDefault, UINT &nDest, LPCTSTR sConfigFile);
void ReadKeyValue(LPCSTR lpSection, LPCSTR lpKey, int nDefault, BOOL &nDest, LPCTSTR sConfigFile);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: