需求:起初是打包winform项目后,如果项目有更新,使用Properties.Settings.Default
无法获取之前用户授权信息
因为在项目更新后,存放用户信息的位置会重新创建user.config来保存用户信息,所以项目更新后,Properties.Settings.Default
会从重新创建的user.config中读取信息,无法获取到之前的用户信息,于是使用注册表记录用户授权信息
读写注册表
c#中对注册表进行读写,主要是通过RegistryKey类的GetValue和SetValue方法来实现的
// #region //不能用,每次更新都会重新生成存放用户信息的文件
//Properties.Settings.Default.SerialNumber = SerialNumber;
//Properties.Settings.Default.Save();
//#endregion
try
{
RegistryKey myReg1, myReg2; //声明注册表对象
myReg1 = Registry.CurrentUser; //获取当前用户注册表项
myReg2 = myReg1.CreateSubKey("Software\\MySoft"); //在注册表项中创建子项
myReg2.SetValue("SerialNumber", SerialNumber);
}
catch
{
}
try
{
RegistryKey myReg1, myReg2; //声明注册表对象
myReg1 = Registry.CurrentUser; //获取当前用户注册表项
myReg2 = myReg1.CreateSubKey("Software\\MySoft"); //在注册表项中创建子项
SerialNumber = myReg2.GetValue("SerialNumber");
}
catch
{
}