regtable.cs

来自「报刊广告管理系统。CSharp编写」· CS 代码 · 共 95 行

CS
95
字号
using System;
using Microsoft.Win32;

namespace WWAM
{
	/// <summary>
	/// 注册表的操作类(主要操作 HKEY_LOCAL_MACHINE\SOFTWARE 键)
	/// </summary>
	public class RegTable
	{
		#region Class Define
		private string program_key = PROGRAM_KEY;
		private string verify_code = VERIFY_CODE;
		private string version = VERSION;
		private string program_name = PROGRAM_NAME;

		public RegTable()
		{
		}

		public RegTable(string ProgramKey)
		{
			this.program_key = ProgramKey;
		}

		public string GetValue(string keyName)
		{
			return GetFromReg(this.program_key,keyName);
		}

		public string GetValue(string keyName, string defaultValue)
		{
			return GetFromReg(this.program_key,keyName,defaultValue);
		}

		public void SetValue(string keyName , string val)
		{
			SaveToReg(program_key,keyName,val);
		}
		#endregion
		#region 常用数据键名
		public static string PROGRAM_KEY = "WWAdvMgr"; 
		public static string VERIFY_CODE = "VerifyCode";
		public static string VERSION = "Version";
		public static string PROGRAM_NAME = "ProgramName";
		#endregion 

		#region 注册表操作(static)

		public static RegistryKey HKLM_Software(bool writable)
		{
			return Registry.LocalMachine.OpenSubKey("SOFTWARE",writable);
		}

		public static RegistryKey GetSubKey(string keyName)
		{
			return HKLM_Software(true).CreateSubKey(keyName);
		}

		public static void SaveToReg(string keyName, string name, string val)
		{
			GetSubKey(keyName).SetValue(name,val);
		}

		public static string GetFromReg(string keyName, string name)
		{
			return GetFromReg(keyName,name,null);
		}

		public static string GetFromReg(string keyName, string name, string defaultValue)
		{
			try
			{
				return (string)HKLM_Software(false).OpenSubKey(keyName).GetValue(name);
			}
			catch
			{
				if(defaultValue!=null)
				{
					SaveToReg(keyName,name,defaultValue);
					return defaultValue;
				}
				else
				{
					return null;
				}
			}

		}
		#endregion


	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?