www.gusucode.com > FreeEIM_VC++企业即时通讯软件源代码源码程序 > FreeEIM_VC++企业即时通讯软件源代码源码程序\code\freeeim_config.cpp
#include "StdAfx.h" #include "EIM02Dlg.h" #include "thirdpartclass/INI.h" #include "freeeim_config.h" #include "em/EM_UserInfo.h" // Download by http://www.NewXing.com FreeEIM_Config::FreeEIM_Config() { m_strDisplayName = ""; m_strGroup = ""; m_pUserInfo = NULL; ReadConfig(); } FreeEIM_Config::~FreeEIM_Config() { if (NULL != m_pUserInfo) { delete m_pUserInfo; m_pUserInfo = NULL; } } EM_UserInfo *FreeEIM_Config::GetUserInfo() { m_pUserInfo = new EM_UserInfo((LPSTR)(LPCTSTR)m_strDisplayName, "male", (LPSTR)(LPCTSTR)m_strGroup); return m_pUserInfo; } void FreeEIM_Config::ReadConfig() { m_pMainTop = (CEIM02Dlg*)AfxGetMainWnd(); // 检查用户设置文件 /**/char szFileName[_MAX_PATH]; /**/m_pMainTop->GetProgramDirectory(szFileName); /**/strcat(szFileName, "freeeim.ini"); CIniReader iniReader(szFileName); if (iniReader.sectionExists("freeeim")) { // 当前用户名 m_strDisplayName = iniReader.getKeyValue("display", "freeeim"); // 当前分组 m_strGroup = iniReader.getKeyValue("group", "freeeim"); } else // 如果没有配置文件则新建一个,并且使用默认信息 { m_strDisplayName = GetComputerName(); m_strGroup = FreeEIM_Default_Group; iniReader.setKey((LPCTSTR)m_strDisplayName, "display", "freeeim"); iniReader.setKey((LPCTSTR)m_strGroup, "group", "freeeim"); } } void FreeEIM_Config::SaveConfig() { m_pMainTop = (CEIM02Dlg*)AfxGetMainWnd(); // 检查用户设置文件 /**/char szFileName[_MAX_PATH]; /**/m_pMainTop->GetProgramDirectory(szFileName); /**/strcat(szFileName, "freeeim.ini"); CIniReader iniReader(szFileName); if (iniReader.sectionExists("freeeim")) { iniReader.setKey((LPCTSTR)m_strDisplayName, "display", "freeeim"); iniReader.setKey((LPCTSTR)m_strGroup, "group", "freeeim"); } } CString FreeEIM_Config::GetDisplayName() { return m_strDisplayName; } CString FreeEIM_Config::GetGroup() { return m_strGroup; } CString FreeEIM_Config::GetComputerName() { m_pMainTop = (CEIM02Dlg*)AfxGetMainWnd(); // 获取本机计算机名 return m_pMainTop->GetComputerName(); }