配置和读取INI

#define MAX_FILE_PATH            260
void CControlDlg::OnBnClickedBtnGamepath()
{
    // TODO: 在此添加控件通知处理程序代码
    CFileDialog CBinFileDlg(FALSE, NULL, NULL, 0, _T("Exe File (*.exe)|*.exe|All File (*.*)|*.*||") , NULL);
    CBinFileDlg.DoModal();
    m_csMainPath = CBinFileDlg.GetPathName();
    SetDlgItemText(IDC_EDIT_GAME_PATH, m_csMainPath);
    SaveBaseInfo();
}
void CControlDlg::SaveBaseInfo()
{
    CString csConfigPath = m_csDirPath + _T("//data//config.ini");
    WritePrivateProfileString(_T("BaseInfo"), _T("GamePath"), m_csMainPath.GetBuffer(), csConfigPath);
}
void CControlDlg::OnInitConfigInfo()
{
    TCHAR szModulePath[MAX_FILE_PATH+1] = {0};
    TCHAR szDriverPath[MAX_FILE_PATH+1] = {0};
    TCHAR szDirPath[MAX_FILE_PATH+1] = {0};
    TCHAR szFilePath[MAX_FILE_PATH+1] = {0};
    TCHAR szExtPath[MAX_FILE_PATH+1] = {0};
    GetModuleFileName(NULL, szModulePath, MAX_FILE_PATH);
    _tsplitpath(szModulePath, szDriverPath, szDirPath, szFilePath,szExtPath);    
    m_csDirPath.Format(_T("%s%s"), szDriverPath, szDirPath) ;

    //初始化账号信息
    //InitAccountInfo();


    CString csConfigPath = m_csDirPath + _T("//data//config.ini");
    TCHAR szMainPath[MAX_FILE_PATH+1] = {0};

    if (!PathFileExists(csConfigPath))
    {
        return ;
    }
    GetPrivateProfileString(_T("BaseInfo"), _T("GamePath"),_T(""), szMainPath , MAX_FILE_PATH,csConfigPath);

    m_csMainPath = szMainPath;

    SetDlgItemText(IDC_EDIT_GAME_PATH, m_csMainPath);
    UpdateData(FALSE);

}
原文地址:https://www.cnblogs.com/wumac/p/4300735.html