📄 config.cpp
字号:
/************************************************************************
模快名: moxu 公共类库
功能: 创建新线程
完成日期: 2007-10-20
作者: 许 培 Xu Pei(Email/MSN: peimoxu@163.com)
本代码可以自由使用,但因使用本代码造成的后果,本人不承担任何责任
************************************************************************/
#include "stdafx.h"
#include "Config.h"
#include "ScopeGuard.h"
namespace moxu
{
TString Config::GetIniString(LPCTSTR fileName,
LPCTSTR appName, LPCTSTR keyName, LPCTSTR defaultStr, DWORD maxSize)
{
DWORD nSize = maxSize + 1;
TCHAR* pStr = new TCHAR[nSize];
ScopeGuard sg = MakeArrayGuard(pStr);
DWORD size = GetPrivateProfileString(appName, keyName, defaultStr, pStr, nSize, fileName);
return pStr;
}
bool Config::SetIniString(LPCTSTR fileName,
LPCTSTR appName, LPCTSTR keyName, LPCTSTR value)
{
return WritePrivateProfileString(appName, keyName, value, fileName);
}
UINT Config::GetIniInt(LPCTSTR fileName,
LPCTSTR appName, LPCTSTR keyName, INT defaultInt)
{
return GetPrivateProfileInt(appName, keyName, defaultInt, fileName);
}
bool Config::SetIniInt(LPCTSTR fileName,
LPCTSTR appName, LPCTSTR keyName, UINT value)
{
TString strValue = moxu::Str::Format(_T("%d"), value);
return WritePrivateProfileString(appName, keyName, strValue.c_str(), fileName);
}
TString Config::GetRegString(HKEY key, LPCTSTR subKey, LPCTSTR keyName, DWORD maxSize)
{
HKEY hKey;
DWORD nSize = maxSize+1;
TCHAR *pStr = new TCHAR(nSize);
ScopeGuard sg = MakeArrayGuard(pStr);
if(ERROR_SUCCESS != RegOpenKeyEx(key, subKey, 0, KEY_READ, &hKey))
return _T("");
if(ERROR_SUCCESS != RegQueryValueEx(hKey, keyName, NULL, NULL, (LPBYTE)pStr, &nSize))
{
RegCloseKey(hKey);
return _T("");
}
RegCloseKey(hKey);
return TString(pStr);
}
bool Config::SetRegString(HKEY key, LPCTSTR subKey, LPCTSTR keyName, LPCTSTR value)
{
HKEY hKey;
if(ERROR_SUCCESS != RegOpenKeyEx(key, subKey, 0, KEY_WRITE, &hKey))
return false;
if(ERROR_SUCCESS != RegSetValueEx(hKey, keyName, NULL, REG_SZ, (LPBYTE)value, _tcslen(value)))
{
RegCloseKey(hKey);
return false;
}
RegCloseKey(hKey);
return true;
}
}//namespace moxu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -