登录界面的博客有很多,参考了这一篇文章,下面给出链接。
MFC做一个登录界面(用户名,密码以及密码的明文密文切换)_umarutyan的博客-CSDN博客
但这里无法修改密码,下面做出一些补充。
由于用不到数据库,所有采用CFile、CArchive的这种序列化机制对密码进行读写。
首先是写文件
下面是读文件
主要原理是先打开一个二进制文件,然后CArchive会维护一个缓冲区对文件进行读写操作,最后再关闭文件即可。
读取密码
CFile file;
file.Open("Login.txt", CFile::modeRead);
CArchive ar(&file, CArchive::load);
CString username;
CString password;
ar.ReadString(username);
ar.ReadString(password);
ar.Close();
file.Close();
注意:ReadString()在单字节情况下会报错。
补充一下常见的文件打开方式
modeRead 只读,modeWrite 只写,modeReadWrite 读写,modeCreate 创建新文件
修改密码进行简单的写操作即可。
改进
可以将信息保存到注册表信息中
关闭时在OnClose()里保存信息,打开时在OnInitDialog()中加载信息即可。
//应用程序中 InitInstance
SetRegistryKey(_T("xxx公司"));
//将信息保存到注册表
theApp.WriteProfileStringA(_T("Settings"), _T("ImageSavePath"), m_pathImg);
//读取注册表信息
m_pathImg = theApp.GetProfileString("Settings", "ImageSavePath");
UpdateData(false);