日期:2014-05-17  浏览次数:20897 次

C#读写注册表操作类
using System;
using System.Collections.Generic;
using Microsoft.Win32;
?
namespace? Register
{
??? public class RegisterOperate
??? {
?
??????? /**/
??????? /// <summary>
??????? /// 写入注册表
??????? /// </summary>
??????? /// <param></param>
??????? public static void SetRegEditData(string strName, string strValue)
??????? {
??????????? try
??????????? {
??????????????? RegistryKey hklm = Registry.LocalMachine;
??????????????? RegistryKey software = hklm.OpenSubKey("SOFTWARE", true);
??????????????? RegistryKey aimdir = software.CreateSubKey("MySoftware");
??????????????? aimdir.SetValue(strName, strValue);
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? Console.WriteLine(ex.Message);
??????????? }
?
??????? }
?
??????? /**/
??????? /// <summary>
??????? /// 修改注册表项
??????? /// </summary>
??????? /// <param></param>
??????? /// <param></param>
??????? public static void ModifyRegEditData(string strName, string strValue)
??????? {
? ??????????try
??????????? {
??????????????? RegistryKey hklm = Registry.LocalMachine;
??????????????? RegistryKey software = hklm.OpenSubKey("SOFTWARE\\MySoftware", true);
???????????? ???software.SetValue(strName, strValue);
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? Console.WriteLine(ex.Message);
??????????? }
??????? }
?
??????? /**/
??????? /// <summary>
??????? /// 判断指定注册表项是否存在
??????? /// </summary>
??????? /// <param></param>
??????? /// <returns></returns>
??????? public static bool IsExist(string strName)
??????? {
??????????? try
??????????? {
??????????????? bool exit = false;
??????????????? string[] subkeyNames;
??????????????? RegistryKey hkml = Registry.LocalMachine;
??????????????? RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
??????????????? RegistryKey aimdir = software.OpenSubKey("MySoftware", true);
??????????????? subkeyNames = aimdir.GetValueNames();
??????????????? foreach (string keyName in subkeyNames)
??????????????? {
??????????????????? if (keyName == strName)
??????????????????? {
??????????????????????? exit = true;
??????????????????????? return exit;
??????????????????? }
????? ??????????}
??????????????? return exit;
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? Console.WriteLine(ex.Message);
??????????????? return false;
??????????? }
??????? }
?
??? }
}

//C#软件注册
private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                Int32 tLong = (Int32)Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\ding", "UserTimes", 0);
                if (tLong < 30)
                {
                    int Times = tLong + 1;
                    Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\ding", "UserTimes", Times);
             &n