zoukankan      html  css  js  c++  java
  • 使用CWinApp读写与应用程序EXE相同路径下的Ini文件

    我们都知道在VC里可以通过Windows API函数GetPrivateProfileString()、WritePrivateProfileString()来读写Ini文件,但其实MFC写好的CWinApp类里也具备读写Ini文件的能力,而且使用更为方便。对应的函数是CWinApp::GetProfileString()、CWinApp::WriteProfileString(),但是默认情况下,这两个函数是去操作注册表的,下面的方法就是使它们转而读写与exe文件相同路径下的Ini文件:

    /**
     * 初始化CWinApp的Ini文件名,之后就可以直接用AfxGetApp()->GetProfileXXX()来读写Ini文件。
     
    */
    BOOL CMyApp::InitIniFile()
    {
        
    char szProgName[MAX_PATH];
        
    int iNiValue = 0;

        iNiValue 
    = GetModuleFileName(0, szProgName, sizeof(szProgName));
        
    if (iNiValue <= 0)
        {
            
    return FALSE;
        }

        szProgName[strlen(szProgName) 
    - 3= '\0';
        strcat(szProgName, 
    "ini");
        
    // 清除Ini变量
        free((void*)m_pszProfileName);
        m_pszProfileName 
    = _tcsdup(_T(szProgName));
        
    // 清除注册表键值变量所分配的内存空间
        free((void*)m_pszRegistryKey);
        m_pszRegistryKey 
    = NULL;

        
    return TRUE;
    }
  • 相关阅读:
    Java Web系统经常使用的第三方接口
    Direct UI
    Python 分析Twitter用户喜爱的推文
    数据挖掘十大经典算法(9) 朴素贝叶斯分类器 Naive Bayes
    利用Excel批量高速发送电子邮件
    普林斯顿大学数学系的崛起
    Node.js学习
    映射 SQL 和 Java 类型
    Nutch配置
    OGNL
  • 原文地址:https://www.cnblogs.com/ddgg/p/1814898.html
Copyright © 2011-2022 走看看