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\테스트] 입니다
'Program > C#' 카테고리의 다른 글
DB에 이미지저장하고 불러오기 (0) | 2011.03.24 |
---|---|
Thread를 이용한 파일복사하기-프로그래스바 (0) | 2011.03.24 |
윈폼or모듈단위에서 특정 웹페이지 호출하기 (0) | 2011.03.24 |
비 동기 웹 서비스 호출(Asynchronous WebService) (0) | 2011.03.24 |
Listview 변경 추가, 삭제, 수정 및 사이즈 변경 (0) | 2011.03.24 |