>  기사  >  백엔드 개발  >  C# 레지스트리 작업 구현 코드

C# 레지스트리 작업 구현 코드

黄舟
黄舟원래의
2016-12-22 13:41:091103검색

두 번째 수준 디렉터리에는 미리 정의된 5개의 기본 키(HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS 및 HKEY_CURRENT_CONFIG)가 포함되어 있습니다.

이 5개 클래스의 기능을 각각 설명하겠습니다

HKEY_CLASSES_ROOT의 기본 키에는 파일 확장자와 응용 프로그램 관련 정보뿐만 아니라 Window Shell 및 OLE에서 레지스트리를 저장하는 데 사용하는 정보가 포함됩니다. . 이 기본 키 아래의 하위 키는 WINDOWS에서 이 파일 클래스와 해당 아이콘을 표시하는 방법을 결정합니다. 이 기본 키는 HKEY_LCCAL_MACHINESOFTWAREClasses에서 매핑됩니다.
HKEY_CURRENT_USER 이 기본 키에는 사용자 창 정보, 데스크톱 설정 등 현재 사용자에 대한 정보가 포함됩니다.

HKEY_LOCAL_MACHINE 기본 키에는 컴퓨터 소프트웨어 및 하드웨어의 설치 및 구성 정보가 포함되어 있습니다.
HKEY_USERS 기본 키는 사용자가 로그인할 때마다 설정 정보를 기록합니다. 사용자의 로그인 이름과 동일한 하위 키가 이 기본 키 아래에 생성됩니다. 이 하위 키는 현재 사용자의 바탕 화면 설정, 배경 비트맵, 바로 가기 키, 글꼴 및 기타 정보를 저장합니다. 일반적으로 애플리케이션은 기본 키에 직접 액세스하지 않고 기본 키 HKEY_CURRENT_USER를 통해 액세스합니다.

 HKEY_CURRENT_CONFIG 이 기본 키는 컴퓨터의 현재 하드웨어 구성 정보를 저장합니다. 이러한 구성은 현재 연결된 네트워크 유형이나 하드웨어 드라이버 소프트웨어 설치에 따라 변경될 수 있습니다.

C#에서는 레지스트리 편집도 지원합니다. .NET 프레임워크는 레지스트리를 작동하기 위해 Microsoft.Win32 네임스페이스에 두 개의 클래스인 Registry와 RegistryKey를 제공합니다. 두 클래스 모두 봉인된 클래스이므로 상속이 허용되지 않습니다. 아래에서는 이 두 클래스를 각각 소개합니다.

Registry 클래스는 7개의 기본 기본 키를 나타내는 7개의 공개 정적 필드를 제공합니다(그 중 2개는 XP 시스템에서 사용할 수 없으며 여기서는 소개되지 않음): Registry.ClassesRoot, Registry.CurrentUser, Registry.LocalMachine , 레지스트리.사용자, 레지스트리.현재 구성. 어떤 키에 해당하는지 한눈에 알 수 있을 것 같아요.

RegistryKey 클래스는 레지스트리 작동을 위한 메소드를 제공합니다. 레지스트리 작업은 시스템 권한을 준수해야 하며, 그렇지 않으면 오류가 발생한다는 점에 유의해야 합니다.

이제 레지스트리를 작동하기 위해 일반적으로 사용되는 몇 가지 방법을 살펴보겠습니다.

하위 키를 생성하는 방법의 프로토타입은 다음과 같습니다.


public RegistryKey CreateSubKey( string sunbkey) ;



sunbkey 매개변수는 생성할 하위 키의 이름 또는 경로 이름을 나타냅니다. 생성에 성공하면 생성된 하위 키가 반환되고, 그렇지 않으면 null이 반환됩니다.

하위 키를 여는 메서드 프로토타입은 다음과 같습니다.


public RegistryKey OpenSubKey(문자열 이름);
public RegistryKey OpenSubKey(문자열 이름, bool 쓰기 가능); 🎜 >
매개변수 이름은 열려는 하위 키의 이름 또는 해당 경로 이름을 나타냅니다. 쓰기 가능한 매개변수는 열린 하위 키가 수정되도록 허용되는지 여부를 나타냅니다. Microsoft.Win32 클래스는 원격 컴퓨터에서 레지스트리를 여는 또 다른 방법도 제공합니다. 메서드 프로토타입은 다음과 같습니다.


 public static RegistryKey OpenRemoteBaseKey(RegistryHive hKey,string machineName); 🎜>
하위 키를 삭제하는 메서드의 프로토타입은 다음과 같습니다.


public void DeleteKey(string subkey)


이 메서드는 지정된 키를 삭제하는 데 사용됩니다. 기본 키. 삭제할 하위 키에 기본 키도 포함되어 있으면 삭제가 실패하고 예외가 반환됩니다. 하위 키와 디렉터리의 하위 키를 완전히 삭제하려면 메서드의 프로토타입인 DeleteSubKeyTree를 사용하면 됩니다.


public void DeleteKeyTree(string subkey)


키 값을 읽는 메소드 프로토타입은 다음과 같습니다.


public object GetValue(string name);
public object GetValue( string name, object defaultValue)


매개변수 이름은 키 이름을 나타내며 반환 유형은 객체 유형입니다. . 지정된 키가 없으면 null이 반환됩니다. 실패하고 반환된 값이 null이 되는 것을 원하지 않는 경우 defaultValue 매개변수를 지정할 수 있습니다. 매개변수가 지정된 경우 읽기가 실패하면 매개변수에 지정된 값이 반환됩니다.

키 값을 설정하는 메서드 프로토타입은 다음과 같습니다.


public object SetValue(문자열 이름, 개체 값);

위 내용은 C# 레지스트리 작업 구현 코드에 대한 자세한 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.