zoukankan      html  css  js  c++  java
  • 几个非常有用的函数-获取可执行文件所在的目录及读取配置文件

    // 取得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);
    
  • 相关阅读:
    vue 小知识
    vue中alert toast confirm loading 公用
    vue 跳外链
    vue 中使用 Toast弹框
    vue 添加vux
    #034Python选修课第二届Turtle绘图大赛
    #033 信安培训基础题Python解决网络安全实验室|网络信息安全攻防学习平台
    #031 测试插入博客园插入视频
    # 030删除数组中的重复元素
    #029 博客换个主题从新开始
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/1947301.html
Copyright © 2011-2022 走看看