首次登錄成功後,將用戶名/密碼加密寫入配置文件(INI/註冊表/JSON);啟動時讀取並填充界面,勾選「記住密碼」複選框。
struct LoginInfo { CString user; CString pwd; BOOL remember; };if (checkRemember.GetCheck()) {
CString encPwd = Encrypt(pwd); // 簡單 Base64 或 AES
WritePrivateProfileString(_T("Login"), _T("User"), user, iniPath);
WritePrivateProfileString(_T("Login"), _T("Pwd"), encPwd, iniPath);
WritePrivateProfileString(_T("Login"), _T("Remember"), _T("1"), iniPath);
} else {
WritePrivateProfileString(_T("Login"), _T("Remember"), _T("0"), iniPath);
}CString user = GetPrivateProfileString(_T("Login"), _T("User"), _T(""), iniPath);
CString encPwd = GetPrivateProfileString(_T("Login"), _T("Pwd"), _T(""), iniPath);
CString rem = GetPrivateProfileString(_T("Login"), _T("Remember"), _T("0"), iniPath);
if (rem == _T("1")) {
editUser.SetWindowText(user);
editPwd.SetWindowText(Decrypt(encPwd));
checkRemember.SetCheck(TRUE);
}CryptProtectData) 或 AES-256-GCM。CSIDL_LOCAL_APPDATA 目錄,避免權限問題。HKEY_CURRENT_USER\Software\YourApp\Login,無需文件路徑管理。CFile/CStdioFile,結構擴展性更好。