WinForm 注册表的读写

需求:起初是打包winform项目后,如果项目有更新,使用Properties.Settings.Default无法获取之前用户授权信息
因为在项目更新后,存放用户信息的位置会重新创建user.config来保存用户信息,所以项目更新后,Properties.Settings.Default会从重新创建的user.config中读取信息,无法获取到之前的用户信息,于是使用注册表记录用户授权信息

图片是项目更新一次,用户登录授权一次便生成一个新的文件夹,里面存放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
            {
            }

你可能感兴趣的:(WinForm 注册表的读写)