c#写入注册表,读取注册表。使用二进制数据
c#写入
private void button4_Click(object sender, EventArgs e)
{
try
{
RegistryKey a = Registry.LocalMachine;
RegistryKey b = a.OpenSubKey("SOFTWARE",true);
RegistryKey c = b.CreateSubKey("dsoa\\regdate", RegistryKeyPermissionCheck.ReadWriteSubTree);
c.SetValue("date", charToBinary(System.DateTime.Now.ToShortDateString()), RegistryValueKind.Binary);
}
catch (Exception eq)
{
MessageBox.Show(eq.ToString());
}
}
#region 把字符串转化为二进制
private byte[] charToBinary(string str)
{
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] tag = encoding.GetBytes(str);
return tag;
}
#endregion
读取
try
{
RegistryKey regkey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\dsoa\regdate");
string value = ConvertBytes((byte[])regkey.GetValue("date"));
DateTime dt1 = Convert.ToDateTime(value);
System.TimeSpan dayspan = System.DateTime.Today - dt1;
BLL.Login login=new OASolution.BLL.Login();
if (dayspan.Days >= 31 || login.GetCurrentIsExpire() == false)
{
Page.Response.Redirect("end.htm",false);
}
}
catch (Exception eq)
{
Page.Response.Redirect("instalerror.htm", false);
}
#region 由字节转化为字符串
private string ConvertBytes(byte[] data)
{
ASCIIEncoding encoding = new ASCIIEncoding();
Char[] dataChars = encoding.GetChars(data);
// 使用StringBuilder来转化成字符串
StringBuilder builder = new StringBuilder();
builder.Append(dataChars);
// 得到字符串
string dataString = builder.ToString();
// 提取左右两边的空格
dataString = dataString.Trim();
// 返回
return dataString;
}
#endregion
本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。