From f83322e78f8312f3006b5614e7d126cbb8d24fc3 Mon Sep 17 00:00:00 2001 From: mjjo Date: Sat, 20 Jul 2013 23:23:04 +0000 Subject: [PATCH] --- HookMsg/ConfigINI.cpp | 472 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 472 insertions(+) create mode 100644 HookMsg/ConfigINI.cpp diff --git a/HookMsg/ConfigINI.cpp b/HookMsg/ConfigINI.cpp new file mode 100644 index 0000000..26d67ce --- /dev/null +++ b/HookMsg/ConfigINI.cpp @@ -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 ); +}