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


    // 取得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);
    
  • 相关阅读:
    【转载】WinCE编译一二三
    Implement the OEM Power Management on Windows CE
    ubuntu 精简系统
    simple awk tutorial
    debian 安装备份已安装软件包
    awk 简单教程
    Unix Sed Tutorial: Advanced Sed Substitution Examples
    dos修改子文件夹所有文件文件名
    Using Intel MKL with MATLAB Matlab使用多核CPU
    [转]学校的统一订书80%该烧掉——IT推荐书单
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/1947301.html
Copyright © 2020-2023  润新知