일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 훈스닷넷
- 윈도우폰
- 소년포비
- 소년포비소프트
- 스마트폰
- windows mobile 6.5
- UX베이커리
- 황광진
- 옴니아2
- winmodev
- 서진호
- 거제도
- 김춘배
- 마이크로소프트
- 안드로이드
- 신동혁
- 윈도우폰7
- 주신영
- 지승욱
- 쉐어포인트코리아
- 윈도우 모바일
- 헤이맨
- 데브피아
- 윈도데브
- 루나네스
- 윈도우모바일
- 윈모데브
- MIX10
- 신석현
- 실버라이트 코리아
- Today
- Total
소년포비의 세계정복!!
[C#] 윈도우 레지스트리(Registry) 읽기/쓰기/관리 본문
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\테스트] 입니다
'프로그램 세상 > C#' 카테고리의 다른 글
[c#] 모든 드라이브 정보 얻기? (0) | 2009.10.11 |
---|---|
[c#]Thread를 이용한 파일복사하기-프로그래스바 (0) | 2009.10.11 |
[C#] xml 파일 읽어서 DataGrid 표시 (0) | 2009.10.11 |
[C#] 각종 데이테베이스 연결 방법 샘플 자료 (0) | 2009.10.11 |
[C# ] 오라클 서버에 이미지 올리기 & 받기 (0) | 2009.10.11 |