This commit is contained in:
2013-07-20 23:23:04 +00:00
parent 09934b3067
commit f83322e78f

472
HookMsg/ConfigINI.cpp Normal file
View File

@@ -0,0 +1,472 @@
// ConfigINI.cpp: implementation of the CConfigINI class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "ConfigINI.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CConfigINI::CConfigINI()
{
m_sINIFileName = "";
}
CConfigINI::~CConfigINI()
{
}
BOOL CConfigINI::SetINIFile(CString sFileName)
{
if (sFileName != "")
{
m_sINIFileName = sFileName;
return TRUE;
}
else return FALSE;
}
/*
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // section name
LPCTSTR lpKeyName, // key name
LPCTSTR lpDefault, // default string
LPTSTR lpReturnedString, // destination buffer
DWORD nSize, // size of destination buffer
LPCTSTR lpFileName // initialization file name
);
*/
CString CConfigINI::GetSectionKeyData(CString sSectionName, CString sKeyName)
{
if ((sSectionName == "") && (sKeyName == "") && (m_sINIFileName == ""))
return "";
char lpBuffer[10240];
memset(lpBuffer, '\0', 10240);
CString sTmp = "ERROR";
int nError = GetPrivateProfileString( (LPCTSTR) sSectionName, // section name
(LPCTSTR) sKeyName, // key name
(LPCTSTR) sTmp, // default string
lpBuffer, // destination buffer
10240, // size of destination buffer
(LPCTSTR) m_sINIFileName // initialization file name
);
sTmp = "";
sTmp = lpBuffer;
if ((nError) && (sTmp != "ERROR"))
return sTmp;
else return "";
}
BOOL CConfigINI::PutSectionKeyData(CString sSectionName, CString sKeyName, CString sValue)
{
if ((sSectionName == "") && (sKeyName == "") && (sValue == "") && (m_sINIFileName == ""))
return FALSE;
BOOL bError = WritePrivateProfileString((LPCTSTR) sSectionName, // section name
(LPCTSTR) sKeyName, // key name
(LPCTSTR) sValue, // string to add
(LPCTSTR) m_sINIFileName // initialization file
);
if (bError)
return TRUE;
else return FALSE;
}
void CConfigINI::CreateConfigFile()
{
/*
if( m_sINIFileName == "" )
{
AfxMessageBox("config file name was not set!" );
return;
}
CStdioFile file;
if( !file.Open(m_sINIFileName, CFile::modeCreate|CFile::modeWrite|CFile::typeText ) )
{
CString str;
str.Format("File Not Found : %s", m_sINIFileName);
AfxMessageBox(str);
return;
}
file.WriteString("[MAIN_SECTION]\n");
file.WriteString("LOCKUNLOCK_HOTKEY=191,3\n");
file.WriteString("USE_SOUNDEFFECT=1\n");
file.WriteString("MONEY=10000000\n");
file.WriteString("MESU_LEVEL=3\n");
file.Close();
*/
}
////////////////////////////////////////////////////////////////
// Read from ini
void CConfigINI::ReadConfigEnvFromINI_DEBUG_SECTION()
{
CString strTemp;
CString str;
str = GetSectionKeyData( "DEBUG_SECTION", "bTraceOnly" );
if( str != "" )
g_AppEnv_Debug.bTraceOnly = atol( (LPSTR)(LPCTSTR)str );
}
////////////////////////////////////////////////////////////////
// Read from ini
void CConfigINI::ReadConfigEnvFromINI()
{
if( m_sINIFileName == "" )
{
AfxMessageBox("config file name was not set!" );
return;
}
CString strTemp;
CString str;
str = GetSectionKeyData( "MAIN_SECTION", "LOCKUNLOCK_HOTKEY" );
AfxExtractSubString(strTemp, str, 0, ',');
if(strTemp != "")
g_AppEnv.LockUnlockHotKey.wVk = atoi( (LPSTR)(LPCTSTR)strTemp );
AfxExtractSubString(strTemp, str, 1, ',');
if(strTemp != "")
g_AppEnv.LockUnlockHotKey.wModifier = atoi( (LPSTR)(LPCTSTR)strTemp );
str = GetSectionKeyData( "MAIN_SECTION", "NPINPUTCODE_HOTKEY" );
AfxExtractSubString(strTemp, str, 0, ',');
if(strTemp != "")
g_AppEnv.NP_InputCodeHotKey.wVk = atoi( (LPSTR)(LPCTSTR)strTemp );
AfxExtractSubString(strTemp, str, 1, ',');
if(strTemp != "")
g_AppEnv.NP_InputCodeHotKey.wModifier = atoi( (LPSTR)(LPCTSTR)strTemp );
str = GetSectionKeyData( "MAIN_SECTION", "USE_SOUNDEFFECT" );
if( str != "" )
g_AppEnv.bUseSoundEffect = atoi( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "USE_TIMESYNC" );
if( str != "" )
g_AppEnv.bTimeSync = atoi( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "NOT_CONTRACTED_CANCEL" );
if( str != "" )
g_AppEnv.bNotContractedCancel = atoi( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MONEY1" );
if( str != "" )
g_AppEnv.Money1 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MONEY2" );
if( str != "" )
g_AppEnv.Money2 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MONEY3" );
if( str != "" )
g_AppEnv.Money3 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MONEY4" );
if( str != "" )
g_AppEnv.Money4 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MESU_LEVEL1" );
if( str != "" )
g_AppEnv.Level1 = (short)atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MESU_LEVEL2" );
if( str != "" )
g_AppEnv.Level2 = (short)atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MESU_LEVEL3" );
if( str != "" )
g_AppEnv.Level3 = (short)atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MESU_LEVEL4" );
if( str != "" )
g_AppEnv.Level4 = (short)atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "SCREEN_NUM" );
if( str != "" )
strcpy( g_AppEnv.strScreenNumber, (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "STOCKCHECKINTERVAL" );
if( str != "" )
g_AppEnv.StockCheckInterval = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "7121DBCLICK" );
if( str != "" )
g_AppEnv.b7121DbClick = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "7121DBCLICK_DELAY" );
if( str != "" )
g_AppEnv.n7121Delay = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "7121DBCLICK_STOP" );
if( str != "" )
g_AppEnv.b7121DbClickStop = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "n7121DbClickContinuePauseTime" );
if( str != "" )
g_AppEnv.n7121DbClickContinuePauseTime = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "LIMITCALL_INTERVAL" );
if( str != "" )
g_AppEnv.LimitCall = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "bLowmoneyInfoDlg" );
if( str != "" )
g_AppEnv.bLowmoneyInfoDlg = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "bJInputAndStop1" );
if( str != "" )
g_AppEnv.bJInputAndStop1 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "bJInputAndStop2" );
if( str != "" )
g_AppEnv.bJInputAndStop2 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "bTradeCountCheck" );
if( str != "" )
g_AppEnv.bTradeCountCheck = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "bTradeMoneyCheck" );
if( str != "" )
g_AppEnv.bTradeMoneyCheck = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "lTradeCount" );
if( str != "" )
g_AppEnv.lTradeCount = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "lTradeMoney" );
if( str != "" )
g_AppEnv.lTradeMoney = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro1" );
if( str != "" )
g_AppEnv.bMesuUsingMacro1 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MesuHotKey1" );
AfxExtractSubString(strTemp, str, 0, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey1.wVk = atoi( (LPSTR)(LPCTSTR)strTemp );
AfxExtractSubString(strTemp, str, 1, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey1.wModifier = atoi( (LPSTR)(LPCTSTR)strTemp );
str = GetSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro2" );
if( str != "" )
g_AppEnv.bMesuUsingMacro2 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MesuHotKey2" );
AfxExtractSubString(strTemp, str, 0, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey2.wVk = atoi( (LPSTR)(LPCTSTR)strTemp );
AfxExtractSubString(strTemp, str, 1, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey2.wModifier = atoi( (LPSTR)(LPCTSTR)strTemp );
str = GetSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro3" );
if( str != "" )
g_AppEnv.bMesuUsingMacro3 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MesuHotKey3" );
AfxExtractSubString(strTemp, str, 0, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey3.wVk = atoi( (LPSTR)(LPCTSTR)strTemp );
AfxExtractSubString(strTemp, str, 1, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey3.wModifier = atoi( (LPSTR)(LPCTSTR)strTemp );
str = GetSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro4" );
if( str != "" )
g_AppEnv.bMesuUsingMacro4 = atol( (LPSTR)(LPCTSTR)str );
str = GetSectionKeyData( "MAIN_SECTION", "MesuHotKey4" );
AfxExtractSubString(strTemp, str, 0, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey4.wVk = atoi( (LPSTR)(LPCTSTR)strTemp );
AfxExtractSubString(strTemp, str, 1, ',');
if(strTemp != "")
g_AppEnv.MesuHotKey4.wModifier = atoi( (LPSTR)(LPCTSTR)strTemp );
}
////////////////////////////////////////////////////////////////
// Write to ini
void CConfigINI::WriteConfigEnvToINI()
{
if( m_sINIFileName == "" )
{
TRACE("config file name was not set!\n" );
return;
}
TCHAR szText1[MAX_PATH], szText2[MAX_PATH], szText3[MAX_PATH];
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.LockUnlockHotKey.wVk, szText1, 10 );
memset( szText2, NULL, MAX_PATH );
_itoa( g_AppEnv.LockUnlockHotKey.wModifier, szText2, 10 );
memset( szText3, NULL, MAX_PATH );
wsprintf( szText3, "%s,%s", szText1,szText2 );
PutSectionKeyData( "MAIN_SECTION", "LOCKUNLOCK_HOTKEY", szText3 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.NP_InputCodeHotKey.wVk, szText1, 10 );
memset( szText2, NULL, MAX_PATH );
_itoa( g_AppEnv.NP_InputCodeHotKey.wModifier, szText2, 10 );
memset( szText3, NULL, MAX_PATH );
wsprintf( szText3, "%s,%s", szText1,szText2 );
PutSectionKeyData( "MAIN_SECTION", "NPINPUTCODE_HOTKEY", szText3 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bUseSoundEffect, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "USE_SOUNDEFFECT", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bTimeSync, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "USE_TIMESYNC", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bNotContractedCancel, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "NOT_CONTRACTED_CANCEL", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Money1, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MONEY1", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Money2, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MONEY2", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Money3, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MONEY3", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Money4, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MONEY4", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Level1, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MESU_LEVEL1", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Level2, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MESU_LEVEL2", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Level3, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MESU_LEVEL3", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.Level4, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "MESU_LEVEL4", szText1 );
memset( szText1, NULL, MAX_PATH );
strncpy( szText1, g_AppEnv.strScreenNumber, 4);
PutSectionKeyData( "MAIN_SECTION", "SCREEN_NUM", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.StockCheckInterval, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "STOCKCHECKINTERVAL", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.b7121DbClick, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "7121DBCLICK", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.n7121Delay, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "7121DBCLICK_DELAY", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.b7121DbClickStop, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "7121DBCLICK_STOP", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.n7121DbClickContinuePauseTime, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "n7121DbClickContinuePauseTime", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.LimitCall, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "LIMITCALL_INTERVAL", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bLowmoneyInfoDlg, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bLowmoneyInfoDlg", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bJInputAndStop1, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bJInputAndStop1", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bJInputAndStop2, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bJInputAndStop2", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bTradeCountCheck, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bTradeCountCheck", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bTradeMoneyCheck, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bTradeMoneyCheck", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.lTradeCount, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "lTradeCount", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.lTradeMoney, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "lTradeMoney", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bMesuUsingMacro1, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro1", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey1.wVk, szText1, 10 );
memset( szText2, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey1.wModifier, szText2, 10 );
memset( szText3, NULL, MAX_PATH );
wsprintf( szText3, "%s,%s", szText1,szText2 );
PutSectionKeyData( "MAIN_SECTION", "MesuHotKey1", szText3 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bMesuUsingMacro2, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro2", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey2.wVk, szText1, 10 );
memset( szText2, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey2.wModifier, szText2, 10 );
memset( szText3, NULL, MAX_PATH );
wsprintf( szText3, "%s,%s", szText1,szText2 );
PutSectionKeyData( "MAIN_SECTION", "MesuHotKey2", szText3 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bMesuUsingMacro3, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro3", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey3.wVk, szText1, 10 );
memset( szText2, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey3.wModifier, szText2, 10 );
memset( szText3, NULL, MAX_PATH );
wsprintf( szText3, "%s,%s", szText1,szText2 );
PutSectionKeyData( "MAIN_SECTION", "MesuHotKey3", szText3 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.bMesuUsingMacro4, szText1, 10 );
PutSectionKeyData( "MAIN_SECTION", "bMesuUsingMacro4", szText1 );
memset( szText1, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey4.wVk, szText1, 10 );
memset( szText2, NULL, MAX_PATH );
_itoa( g_AppEnv.MesuHotKey4.wModifier, szText2, 10 );
memset( szText3, NULL, MAX_PATH );
wsprintf( szText3, "%s,%s", szText1,szText2 );
PutSectionKeyData( "MAIN_SECTION", "MesuHotKey4", szText3 );
}