모듈 레지스트리
레지스트리 모듈은 Windows 레지스트리를 운영하는 모듈입니다. 읽기, 수정, 삭제, 추가 및 기타 작업을 수행할 수 있는 레지스트리에 액세스하기 위한 메서드와 상수를 제공합니다. 레지스트리 모듈은 Windows 애플리케이션에서 사용되는 것과 유사한 작업을 제공하지만 FibJS의 기능을 제공합니다. 상수에는 공통 루트, 데이터 유형 및 기타 상수뿐만 아니라 다양한 작업의 반환 값에 사용되는 일부 상수가 포함됩니다.
일반적으로 사용되는 기능은 다음과 같습니다.
- get(root, key[, flags]): 지정된 레지스트리 키의 값을 가져옵니다.
- set(root, key, value[, type]): 지정된 레지스트리 키의 값을 설정합니다.
- del(root, key): 지정된 레지스트리 키를 삭제합니다.
다음으로 특정 레지스트리 키의 키 값이 지정된 레지스트리 분기에 존재하는지 확인한 다음 키 값을 읽습니다. 존재하지 않는 경우 키 값은 지정된 레지스트리 키에 기록됩니다. 코드는 다음과 같습니다.
1
2
3
4
5
6
7
8
9
10var registry = require('registry');
// specify the key name
var key = "Software\\Fibjs\\Test\\KeyName";
if (!registry.get(registry.CLASSES_ROOT, key)) {
registry.set(registry.CLASSES_ROOT, key, "test_value");
}
// specify the key name
var value = registry.get(registry.CLASSES_ROOT, key);
console.log(value);
프로그램은 먼저 레지스트리 키가 존재하는지 확인하고, 존재하지 않으면 Software\Fibjs\Test\KeyName 키 이름으로 레지스트리에 쓰고 값을 test_value로 설정합니다. 마지막으로 레지스트리의 키 값을 읽고 콘솔에 출력합니다. 위의 코드는 레지스트리 모듈의 기본적인 사용법을 보여주고 있으며, 이 모듈을 사용하여 레지스트리에 있는 정보를 쉽게 읽고, 수정하고, 추가하고, 삭제할 수 있습니다.
정적 함수
listSubKey
지정된 키 값 아래의 모든 하위 키를 반환합니다.
1
2static NArray registry.listSubKey(Integer root,
String key);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
결과 반환:
- NArray, 이 키 값 아래의 모든 하위 키를 반환합니다.
listValue
지정된 키 값에 해당하는 모든 데이터의 키를 반환합니다.
1
2static NArray registry.listValue(Integer root,
String key);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
결과 반환:
- NArray, 키 값 아래의 모든 데이터의 키를 반환합니다.
get
지정된 키 값의 숫자 값을 쿼리합니다.
1
2static Value registry.get(Integer root,
String key);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
결과 반환:
- Value, 지정된 키 값의 숫자 값을 반환합니다.
set
지정된 키 값을 숫자로 설정
1
2
3
4static registry.set(Integer root,
String key,
Number value,
Integer type = DWORD);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
- value:번호, 번호 지정
- type: 정수, 유형을 지정합니다. 허용되는 유형은 DWORD 및 QWORD이며 기본값은 DWORD입니다.
지정된 키 값을 문자열로 설정
1
2
3
4static registry.set(Integer root,
String key,
String value,
Integer type = SZ);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
- value: 문자열, 지정된 문자열
- type: 정수, 유형을 지정합니다. 허용되는 유형은 SZ 및 EXPAND_SZ이며 기본값은 SZ입니다.
지정된 키 값을 다중 문자열로 설정
1
2
3static registry.set(Integer root,
String key,
Array value);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
- value: 배열, 다중 문자열 배열을 지정합니다.
지정된 키 값을 바이너리로 설정
1
2
3static registry.set(Integer root,
String key,
Buffer value);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
- value:Buffer, 바이너리 데이터 지정
del
지정된 키 값의 값을 삭제합니다.
1
2static registry.del(Integer root,
String key);
호출 매개변수:
- root: 정수, 레지스트리 루트를 지정합니다.
- key: 문자열, 키 값 지정
끊임없는
CLASSES_ROOT
Windows에서 인식하는 파일 형식의 세부 목록과 관련 프로그램을 저장하는 레지스트리 루트
1const registry.CLASSES_ROOT = 0;
CURRENT_USER
현재 사용자가 설정한 정보를 저장하는 레지스트리 루트
1const registry.CURRENT_USER = 1;
LOCAL_MACHINE
컴퓨터에 설치된 하드웨어 및 소프트웨어에 대한 정보를 포함한 레지스트리 루트
1const registry.LOCAL_MACHINE = 2;
USERS
컴퓨터를 사용하는 사용자에 대한 정보가 포함된 레지스트리 루트
1const registry.USERS = 3;
CURRENT_CONFIG
레지스트리 루트, 이 분기에는 컴퓨터의 현재 하드웨어 구성 정보가 포함됩니다.
1const registry.CURRENT_CONFIG = 5;
SZ
레지스트리 데이터 유형, 문자열
1const registry.SZ = 1;
EXPAND_SZ
레지스트리 데이터 유형, 확장 문자열
1const registry.EXPAND_SZ = 2;
DWORD
레지스트리 데이터 유형, 32비트 값
1const registry.DWORD = 4;
QWORD
레지스트리 데이터 유형, 64비트 값
1const registry.QWORD = 11;