//-------------------------------------------------------------------------- // 功能:保存登陆选择设置 //-------------------------------------------------------------------------- void KLogin::SaveLoginChoice() { KIniFile* pSetting = g_UiBase.GetCommSettingFile(); int i; if (pSetting) { //----纪录选择的服务器---- pSetting->WriteInteger($LOGIN, "SelServerRegion", m_Choices.nServerRegionIndex); if (m_Choices.AccountServer.Title[0]) { pSetting->WriteString($LOGIN, "LastGameServer", m_Choices.AccountServer.Title); } char szBuffer[32]; //----纪录最后一次登陆账号---- pSetting->EraseKey($LOGIN, $LAST_ACCOUNT); if (m_Choices.bRememberAccount) { GetAccountPassword(szBuffer, NULL); i = strlen(szBuffer); EDOneTimePad_Encipher(szBuffer, i); pSetting->WriteStruct($LOGIN, $LAST_ACCOUNT, szBuffer, sizeof(szBuffer)); if (m_Choices.bRememberAll) { KSG_PASSWORD Password; GetAccountPassword(NULL, &Password); i = strlen(Password.szPassword); EDOneTimePad_Encipher(Password.szPassword, i); pSetting->WriteStruct($LOGIN, $LAST_PASSWORD, Password.szPassword, sizeof(Password.szPassword)); } KIniFile* pPrivate = g_UiBase.GetPrivateSettingFile(); if (pPrivate) { if (m_Choices.szProcessingRoleName[0]) { i = strlen(m_Choices.szProcessingRoleName); memcpy(szBuffer, m_Choices.szProcessingRoleName, i); szBuffer[i] = 0; EDOneTimePad_Encipher(szBuffer, i); pPrivate->WriteString("Main", "LastSelCharacter", szBuffer); } g_UiBase.ClosePrivateSettingFile(true); } } g_UiBase.CloseCommSettingFile(true); } }