您的位置:首页 > 编程语言 > C#

C#读写注册表操作类

2012-06-26 10:19 477 查看
C#读写注册表操作类,一共包括三个方法. 1. 写注册表 2.修改注册表 3.判断键值是否存在

经测试,本操作类也适用于.net compact framework 2.0, windows mobile 平台的开发。

首先要引入命名空间

程序代码
using Microsoft.Win32;

所有代码:

程序代码

using System;

using System.Collections.Generic;

using Microsoft.Win32;

namespace Register

{

public class RegisterOperate

{

/**/

/// <summary>

/// 写入注册表

/// </summary>

/// <param name="strName"></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 name="strName"></param>

/// <param name="strValue"></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 name="strName"></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;

}

}

}

}

使用本类:

RegisterOperate.SetRegEditData("KeyName","KeyValue")

//在HKEY_LOCAL_MACHINE\Software\MySoftware下面创建KeyName这个键

RegisterOperate.ModifyRegEditData("KeyName","KeyValue")

//修改HKEY_LOCAL_MACHINE\Software\MySoftware下面KeyName这个键的键值

RegisterOperate.IsExist("KeyName")

//判断HKEY_LOCAL_MACHINE\Software\MySoftware下面KeyName这个键是否存在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: