首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#读写注册表操作种

2012-12-25 
C#读写注册表操作类using Systemusing System.Collections.Genericusing Microsoft.Win32?namespace? R

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);
                    MessageBox.Show("这是您第" + Times + "次使用。");
                }
                else
                {
                    MessageBox.Show("试用期已到,请重新注册。");
                    Application.Exit();//退出应用程序  
                }
            }
            catch
            {
                Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\ding", "UserTimes","1", RegistryValueKind.DWord);
                MessageBox.Show("感谢您使用本软件");
            }
        }

热点排行