📄 avhall_config.cpp
字号:
// AVHall_Config.cpp: implementation of the AVHall_Config class.
//
//////////////////////////////////////////////////////////////////////
#include "../stdafx.h"
#include "../AV_Hall.h"
#include "AVHall_Config.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define CONFIG_FILE "client_cfg.DLL"
#define CONFIG_SECTION "config"
#define SHARE_KEY_WEB_HALL "webhall"
#define SHARE_KEY_WEB_HOMEPAGE "webhomepage"
#define SHARE_KEY_WEB_LIVING "webliving"
#define SHARE_KEY_WEB_CHAT "webchat"
#define SHARE_KEY_WEB_MARRIAGE "webmarriage"
#define SHARE_KEY_WEB_EDUCATION "webeducation"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CAVHall_Config * CAVHall_Config::m_pConfig = NULL;
CAVHall_Config::CAVHall_Config()
{
m_pConfig = NULL;
m_strEducation = "about:blank";
m_strMarriage = "about:blank";
m_strChat = "about:blank";
m_strLiving = "about:blank";
m_strHomePage = "about:blank";
m_strHall = "about:blank";
}
CAVHall_Config::~CAVHall_Config()
{
}
CAVHall_Config* CAVHall_Config::GetIns()
{
if (NULL == m_pConfig)
{
m_pConfig = new CAVHall_Config;
}
return m_pConfig;
}
void CAVHall_Config::FreeIns()
{
if (NULL != m_pConfig)
{
delete m_pConfig;
m_pConfig = NULL;
}
}
void CAVHall_Config::SaveConfig()
{
CString strFile=GetCurPath()+CONFIG_FILE;
WritePrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_HALL,m_strHall,strFile);
WritePrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_HOMEPAGE,m_strHomePage,strFile);
WritePrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_LIVING,m_strLiving,strFile);
WritePrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_CHAT,m_strChat,strFile);
WritePrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_MARRIAGE,m_strMarriage,strFile);
WritePrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_EDUCATION,m_strEducation,strFile);
/*
WritePrivateProfileString(LPCSTR lpAppName,LPCSTR lpKeyName,
LPCSTR lpString,LPCSTR lpFileName)
功能:该函数将拷贝一个字符串到指定文件的指定区域中
参数:
参数1:区域名称;参数2:关键字的指针;参数3:要追加的字符串的指针;参数4:文件名
*/
}
void CAVHall_Config::LoadConfig()
{
#define MAX_BUF (200)
char szBuf[MAX_BUF];
CString strFile=GetCurPath()+CONFIG_FILE;
DWORD dwRet=0;
dwRet=GetPrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_HALL,"",szBuf,MAX_BUF,strFile);
if (dwRet>0) m_strHall=szBuf;
dwRet=GetPrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_HOMEPAGE,"",szBuf,MAX_BUF,strFile);
if (dwRet>0) m_strHomePage=szBuf;
dwRet=GetPrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_LIVING,"",szBuf,MAX_BUF,strFile);
if (dwRet>0) m_strLiving=szBuf;
dwRet=GetPrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_CHAT,"",szBuf,MAX_BUF,strFile);
if (dwRet>0) m_strChat=szBuf;
dwRet=GetPrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_MARRIAGE,"",szBuf,MAX_BUF,strFile);
if (dwRet>0) m_strMarriage=szBuf;
dwRet=GetPrivateProfileString(CONFIG_SECTION,SHARE_KEY_WEB_EDUCATION,"",szBuf,MAX_BUF,strFile);
if (dwRet>0) m_strEducation=szBuf;
/*
DWORD GetPrivateProfileString(LPSTR lpAppName,LPCSTR lpKeyName,LPCSTR lpDefault
,LPTSTR lpReturnedSTring,DWORD nSize,LPCSTR lpFileName);
功能:该函数从一个初始化文件的指定区域检索一个字符串.
参数:
参数1,区域名称;若该参数取值NULL,则该函数将指定文件中的所有区域名称拷贝到
提供的缓冲区中.
参数2,关键字的名称;若该参数取值NULL,则由参数1所指定的所有区域中所有关键名称
都会拷贝到由lpReturnedSTring所提供的缓冲区中.
参数3,预设字符串的句柄.若由lpKeyName所提供的关键字名称不能打开,则该函数拷贝该
预设的字符串到由lpReturnedString所提供的buffer.这个参数不能设为NULL.
参数4,用于接收检索到的字符串的缓冲区的句柄
参数5,指出由参数4所提供的缓冲区最多可以存放多少个字符.
参数6,文件名.若在指定路径中找不到该文件,则系统会在Windows directory中查找到该文件.
*/
}
CString CAVHall_Config::GetCurPath()
{
CString strCurPath = "";
char szPath[MAX_PATH];
szPath[0] = '\0';
//<out>获得当前进程的路径
//<out>主要是为了应用程序和控件都可以使用
/*
DWORD GetModuleFileName(HMODULE hModule,LPTSTR lpFilename,DWORD nSize);
功能:
返回值:若函数执行成功,由返回实际拷贝的字符数,否则返回0值,此时可以调用GetLastError返回最近错误的类型
参数1,待查可执行文件的句柄,若该参数取值为NULL,则该函数返回用于创建调用进程的文件的
路径
参数2,用于存放指定模块的路径和文件名的缓冲区
参数3,指定缓冲区最多可以存放的字符数,若文件名和路径的长度超过限制,则字符串会被截取
*/
if (GetModuleFileName(NULL/*AfxGetApp()->m_hInstance*/,
szPath,sizeof(szPath)) > 0)
{
//<out>去掉可执行文件名
char * pTmp = NULL;
pTmp = szPath;
while(strchr(pTmp,'\\'))
{
pTmp = strchr(pTmp,'\\');
pTmp ++;
}
*pTmp = '\0';
strCurPath.Format("%s",szPath);
}
return CString(strCurPath);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -