/// <summary> /// 读取注册信息 /// </summary> /// <returns></returns> private static bool readRegisterInfor() { #region RegistryKey regRootKey = Registry.CurrentUser; RegistryKey regSubKey; try { regSubKey = regRootKey.OpenSubKey(RegisterInformation.RootNodeRegisterPath); _RegisterInfor = new RegisterInformation(); _RegisterInfor.SerialNumber = regSubKey .GetValue(RegisterInformation.KeyNameSerialNumber).ToString(); _RegisterInfor.Username = regSubKey .GetValue(RegisterInformation.KeyNameUsername).ToString(); _RegisterInfor.DiskNumber = regSubKey .GetValue(RegisterInformation.KeyNameDiskNumber).ToString(); return(true); } catch (Exception e) { //预期异常类型应该两种 //1.没有本公司的注册信息。 //2.注册信息不全。 //这两种情况需重新注册 ErrorInformation = e.ToString(); return(false); } #endregion }
/// <summary> /// 软件注册开始执行 /// </summary> /// <param name="willreginfor">即将注册的信息</param> /// <returns>注册是否成功</returns> public static bool Start(RegisterInformation willreginfor) { #region _RegisterInfor = willreginfor; if (IsRegisteringValid()) { RegistryKey regRootKey = Registry.CurrentUser; RegistryKey regSubKey = regRootKey.CreateSubKey( RegisterInformation.RootNodeRegisterPath, RegistryKeyPermissionCheck.ReadWriteSubTree); regSubKey.SetValue(RegisterInformation.KeyNameSerialNumber, _RegisterInfor.SerialNumber, RegistryValueKind.String); regSubKey.SetValue(RegisterInformation.KeyNameUsername, _RegisterInfor.Username, RegistryValueKind.String); regSubKey.SetValue(RegisterInformation.KeyNameDiskNumber, _RegisterInfor.DiskNumber, RegistryValueKind.String); regRootKey.Close(); return(true); } return(false); #endregion }