c# registry 예제

이 문서는 레지스트리로 기본 작업을 수행하는 방법에 익숙해지는 데 중점을 두어 보셨습니다. 다음 문서 – 2 부에서는 레지스트리 등에 액세스 할 때 다른 방법으로 throw 된 예외에 대한 보안 및 권한에 중점을 둡니다. GetValue 및 SetValue 메서드는 레지스트리 키를 사용할 때마다 열고 닫기 때문에 많은 수의 값에 액세스하는 경우 RegistryKey 클래스의 메서드뿐만 아니라 수행되지 않습니다. 레지스트리는 큰 데이터베이스와 같습니다. 모든 데이터는 키-값 쌍 모델과 유사한 형식으로 저장되므로 일부 키(변수와 같은) 및 관련 값이 있습니다. 예: 다음 예제에서는 일부 사용자별 설정을 저장하기 위해 레지스트리를 사용합니다. 보다 구체적으로 는 응용 프로그램 창의 크기를 저장 하 고 다음에 응용 프로그램을 시작할 때 검색 합니다. CurrentUser 하위 키를 사용 하 여 있기 때문에 모든 사용자가 자신의 기본 설정에 따라 자신의 창 크기를 가질 수 있도록 합니다 (이 경우 응용 프로그램이 닫힌 경우 창의 크기). 레지스트리 클래스에 의해 노출 되는 기본 또는 루트 RegistryKey 인스턴스는 레지스트리의 하위 키 및 값에 대 한 기본 저장소 메커니즘을 설명 합니다.

레지스트리가 존재에 따라 달라지므로 모든 키는 읽기 전용입니다. 레지스트리에 의해 노출 된 키는: 많은 응용 프로그램 그들의 설정 및 구성을 저장 하기 위해 레지스트리를 사용 하지만, 요즘 그것은 더 이상 권장 된 연습. 대신 C# 프로젝트의 Settings.settings 파일과 같은 XML 파일에 응용 프로그램의 설정을 저장해야 합니다. 당신은 Settings.settings 파일이 무엇인지 모르는 경우 나는 당신이 여기에서 읽을 수있는 그것에 기사를 썼다 – C #의 설정 파일을 사용하여. 이 예제에서는 „이름” 및 „이사벨라”라는 값 쌍을 현재 사용자의 레지스트리에 „이름” 키 아래에 추가합니다. 환경REG_EXPAND_SZ 형식의 레지스트리 키를 읽을 수 있습니다. 관련 열거: 무제한 그리고 regedit.exe를 다시 열면 방금 수행 한 모든 작업이 :) 사라진 것을 볼 수 있습니다. 모든 값을 가진 레지스트리 키를 쉽게 삭제할 수 있습니다! 그래서 실수로 뭔가를 삭제하는 것이 얼마나 쉬운 상상 …

레지스트리에서 삭제할 때주의해야 합니다. 루트 키는 레지스트리의 수명과 영혼을 형성하므로 이러한 필드는 모두 읽기 전용입니다. 하위 키를 만드는 데 사용되며 수정하지 않습니다. 이미지에서 짐작할 수 있듯이 .NET: Microsoft.Win32.RegistryKey 및 Microsoft.Win32.Registry에서 레지스트리로 작업할 때마다 두 가지 클래스가 필요합니다. 레지스트리Key 클래스는 레지스트리의 모든 하위 키를 나타내는 데 사용됩니다. 반면에 레지스트리 클래스는 레지스트리의 루트 키만 나타내는 데 사용됩니다.