?? param_mapserver.h
字號(hào):
//////////////////////////////////////////////////////////////////////////
// 2004. 7. 19 by kuma
// 2004. 08. 05 changed by jason
// For Server Parameter into Registry - CHINA
//
// -GAMEDB GAMEDBID GAMEDBPWD <= Game DB
// -DBIP GAMEDBIP <= Game DB IP
// -MAXUSER COUNT
//////////////////////////////////////////////////////////////////////////
#ifndef __PARAM_MAPSERVER_H__
#define __PARAM_MAPSERVER_H__
#include "command.h"
#include "RegCrypt.h"
#include "XRegKey.h"
#ifndef ENCDLG_KEY
#define ENCDLG_KEY "zemi_travia"
#endif
///////// - 2004.7.19 by kuma - ///////////////////////////////
// for read registry db parameter
///////////////////////////////////////////////////////////////
inline bool ReadParam_MapServer()
{
////////////////////////////////////////////////////////////////////////
// 角青 頗老 疙闌 掘?yàn)? ////////////////////////////////////////////////////////////////////////
TCHAR mfilename[MAX_PATH];
TCHAR drv[MAX_PATH];
TCHAR path[MAX_PATH];
TCHAR fname[MAX_PATH];
TCHAR ext[MAX_PATH];
GetModuleFileName(NULL, mfilename, sizeof mfilename);
_splitpath(mfilename, drv, path, fname, ext);
char strRegName[512] = "SOFTWARE\\Zemi Interactive, Inc.\\";
strcat( strRegName, fname );
char szBuffer[MAX_PATH] = {0, };
CRegCrypt crypt;
//
// CHINA-DUKE 薦瀝 2004.08.08
//
int nLen = sizeof(szBuffer);
crypt.RegDecrypt(strRegName, "ACCOUNT DB ID", szBuffer, &nLen, ENCDLG_KEY);
if(szBuffer[0] != '\0')
{
strcpy(_Module.m_szDBID, szBuffer);
}
//AfxMessageBox(_Module.m_szDBID);//TEST
//
// CHINA-DUKE 薦瀝 2004.08.08
//
memset(szBuffer, 0x00, sizeof(szBuffer));
nLen = sizeof(szBuffer);
crypt.RegDecrypt(strRegName, "ACCOUNT DB PWD", szBuffer, &nLen, ENCDLG_KEY);
if(szBuffer[0] != '\0')
{
strcpy(_Module.m_szDBPWD, szBuffer);
}
//AfxMessageBox(_Module.m_szDBPWD);//TEST
CXRegKey keySetting;
LONG lRes = keySetting.Open(HKEY_LOCAL_MACHINE, strRegName, KEY_READ);
if (lRes != ERROR_SUCCESS)
{
MessageBox( NULL, "registry open error", "Map Server", MB_OK );
return false;
}
// Get Allow Max User
unsigned long dwMaxUser;
lRes = keySetting.QueryValue( dwMaxUser, _T("ALLOW MAX USER") );
if (lRes == ERROR_SUCCESS)
{
// 角力 蠟歷薦甫 嘎眠扁 困秦 + 30闌 沁促.
_Module.m_dwMaxUser = dwMaxUser + 30 ;
}
//DEF_MAPINOUT_REGISTRY
unsigned long dwSaveAccountDB;
lRes = keySetting.QueryValue( dwSaveAccountDB, _T("SAVE ACCOUNTDB") );
if (lRes == ERROR_SUCCESS)
{
_Module.m_dwSaveAccountDB = dwSaveAccountDB ;
}
keySetting.Close();
return true;
}
///////// - 2004.7.19 by kuma - ///////////////////////////////
// for write registry parameter
//
///////////////////////////////////////////////////////////////
inline bool SaveParam_MapServer( LPCTSTR lpszToken, LPCTSTR fname)
{
char strRegName[512] = "SOFTWARE\\Zemi Interactive, Inc.\\";
strcat( strRegName, fname );
char *delim = " /";
char *token = strtok((char *)(LPCTSTR)lpszToken, delim);
if ( token )
{
// GAME DB ID / PWD
// CHINA-DUKE 2004.08.08 函版
if ( !strcmpi( token, _T( "-ACCOUNTDB" ) ) )
{
token = strtok( NULL, delim );
if ( token )
{
CRegCrypt crypt;
char* next = strtok( NULL, delim );
if ( next )
{
if(!crypt.RegEncrypt(strRegName, "ACCOUNT DB PWD", next, strlen(next), ENCDLG_KEY))
return false;
}
if(!crypt.RegEncrypt(strRegName, "ACCOUNT DB ID", token, next - token - 1, ENCDLG_KEY))
return false;
}
return true;
}
// DB IP
if ( !strcmpi( token, _T( "-DBIP" ) ) )
{
token = strtok( NULL, delim );
if ( token )
{
CXRegKey keySetting;
LONG lRes = keySetting.Open(HKEY_LOCAL_MACHINE, strRegName, KEY_READ | KEY_WRITE);
if (lRes != ERROR_SUCCESS)
{
MessageBox( NULL, "registry key open error", "Map Server", MB_OK );
}
lRes = keySetting.SetValue( token, _T("DB_IP") );
if (lRes != ERROR_SUCCESS)
{
MessageBox( NULL, "Write Registry Error - DB IP", "Map Server", MB_OK );
}
keySetting.Close();
}
return true;
}
// MAX USER
else if ( !strcmpi( token, _T( "-MAXUSER" ) ) )
{
token = strtok( NULL, delim );
if ( token )
{
DWORD dwMax = atoi( token );
CXRegKey keySetting;
LONG lRes = keySetting.Open(HKEY_LOCAL_MACHINE, strRegName, KEY_READ | KEY_WRITE);
if (lRes != ERROR_SUCCESS)
{
MessageBox( NULL, "registry key open error", "Game Server", MB_OK );
}
lRes = keySetting.SetValue( dwMax, _T("ALLOW MAX USER") );
if (lRes != ERROR_SUCCESS)
{
MessageBox( NULL, "Write Registry Error - MAX USER", "Game Server", MB_OK );
}
keySetting.Close();
}
return true;
}
//DEF_MAPINOUT_REGISTRY
else if ( !strcmpi( token, _T( "-SAVEACCOUNTDB" ) ) )
{
token = strtok( NULL, delim );
if ( token )
{
DWORD dwBool = atoi( token );
CXRegKey keySetting;
LONG lRes = keySetting.Open(HKEY_LOCAL_MACHINE, strRegName, KEY_READ | KEY_WRITE);
if (lRes != ERROR_SUCCESS)
{
MessageBox( NULL, "registry key open error", "Game Server", MB_OK );
}
lRes = keySetting.SetValue( dwBool, _T("SAVE ACCOUNTDB") );
if (lRes != ERROR_SUCCESS)
{
MessageBox( NULL, "Write Registry Error - MAX USER", "Game Server", MB_OK );
}
keySetting.Close();
}
return true;
}
}
return false;
}
#endif
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -