开机自动启动注册表

static public string RegeditPath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\";

  /// <summary>
  /// 读注册表数据信息
  /// </summary>
  /// <param name="name"></param>
  /// <returns></returns>
  public string GetRegistData(string name) //键名称
  {
  string registData;
  RegistryKey hkml = Registry.LocalMachine;
  RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
  RegistryKey aimdir = software.OpenSubKey(ReigstidFileName, true);
  registData = aimdir.GetValue(name).ToString();
  return registData;
  }
  /// <summary>
  /// 写注册表数据信息,分别是子键名称和值存放LocalMachine目录下的XXX文件中,其文件名为name的值,值为tovalue的值

  /// </summary>
  /// <param name="name"></param>
  /// <param name="tovalue"></param>
  /// <returns></returns>
  public bool WTRegedit(string name, string tovalue)
  {
  bool WriteOk = false;
  try
  {
  RegistryKey hklm = Registry.LocalMachine;
  RegistryKey software = hklm.OpenSubKey("SOFTWARE", true);
  RegistryKey aimdir = software.CreateSubKey(ReigstidFileName);
  aimdir.SetValue(name, tovalue);
  WriteOk = true;
  }
  catch
  {
  WriteOk = false;
  }
  return WriteOk;
  }
  /// <summary>
  /// 
  ///修改注册表数据信息
  /// </summary>
  /// <param name="name"></param>
  /// <param name="tovalue"></param>
  /// <returns></returns>
  public bool EditRegedit(string name, string tovalue)
  {
  bool EditOk = false;
  try
  {
  if (IsRegeditExist(name))
  {
  RegistryKey hklm = Registry.LocalMachine;
  RegistryKey software = hklm.OpenSubKey("SOFTWARE", true);
  RegistryKey aimdir = software.CreateSubKey(ReigstidFileName);
  aimdir.SetValue(name, tovalue);
  EditOk = true;
  }
  }
  catch
  {
  EditOk = false;
  }
  return EditOk;
  }

  /// <summary>
  /// 删除注册表数据信息
  /// </summary>
  /// <param name="name"></param>
  /// <returns></returns>
  public bool DeleteRegist(string name)
  {
  bool DeleteOk = false;
  string[] aimnames;
  RegistryKey hkml = Registry.LocalMachine;
  RegistryKey software = hkml.OpenSubKey(RegeditPath, true);
  RegistryKey aimdir = software.OpenSubKey("Run", true);
  aimnames = aimdir.GetValueNames();
  foreach (string aimKey in aimnames)
  {
  if (aimKey == name)
  {
  aimdir.Deletue(name);
  DeleteOk = true;
  }
  }
  return DeleteOk;
  }
  /// <summary>
  /// 判断注册表数据信息是否存在
  /// </summary>
  /// <param name="name"></param>
  /// <returns></returns>
  public bool IsRegeditExist(string name)
  {
  bool isExist = false;
  string[] subkeyNames;
  RegistryKey hkml = Registry.LocalMachine;
  RegistryKey software = hkml.OpenSubKey(RegeditPath, true);
  RegistryKey aimdir = software.OpenSubKey("Run");
  subkeyNames = aimdir.GetValueNames();
  foreach (string keyName in subkeyNames)
  {
  if (keyName == name)
  {
  isExist = true;
  }
  }
  return isExist;
  }
posted @ 2010-05-24 14:27  superstar  阅读(395)  评论(0)    收藏  举报