반응형

C# RegistryKey 클래스로 레지스트리 관리를 지원하고 있습니다.

RegistryKey 클래스를 사용하기 위해서는 Microsoft.Win32 네임스페이스를 사용해야 합니다.

-> using Microsoft.Win32

주로 쓰이는 것은 CreateSubKey(키 생성), SetValue(값 저장), GetValue(값 얻기) 입니다.

아래는 윈도우 폼으로 레지스트리를 사용하여

윈도우 창의 색깔을 랜덤하게 바꾸는 프로그램입니다.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Win32;

namespace RegistryTEST

{

public partial class MainForm : Form

{

private Color _BColor;

public MainForm()

{

InitializeComponent();

}

private void btnREAD_Click(object sender, EventArgs e)

{

RegistryKey reg;

reg = Registry.LocalMachine.CreateSubKey("Software").CreateSubKey("테스트");

int R = Convert.ToInt32(reg.GetValue("RED", -1));

int G = Convert.ToInt32(reg.GetValue("GREEN", -1));

int B = Convert.ToInt32(reg.GetValue("BLUE", -1));

if( R == -1 || G == -1 || B == -1 )

{

lbOUT.Text = "레지스트리가 없습니다";

return;

}

_BColor = Color.FromArgb(R, G, B);

lbOUT.Text = "읽기 : " + R + ", " + G + ", " + B;

}

private void btnWRITE_Click(object sender, EventArgs e)

{

RegistryKey reg;

reg = Registry.LocalMachine.CreateSubKey("Software").CreateSubKey("테스트");

Random r = new Random();

int R = r.Next(0, 255);

int G = r.Next(0, 255);

int B = r.Next(0, 255);

reg.SetValue("RED", R);

reg.SetValue("GREEN", G);

reg.SetValue("BLUE", B);

lbOUT.Text = "쓰기 : " + R + ", " + G + ", " + B;

}

private void btnLOAD_Click(object sender, EventArgs e)

{

if( _BColor.IsEmpty )

{

lbOUT.Text = "레지스트리를 읽어주세요";

return;

}

this.BackColor = _BColor;

}

}

}

레지스트리값은 [HKEY_LOCAL_MACHINE\SOFTWARE\테스트] 입니다

반응형

+ Recent posts