이 내용을 읽은 후 ASP를 사용하여 레지스트리를 수정할 수 있습니다.
유명한 WSH에 대해 들어보셨나요? WSH는 Windows 플랫폼의 스크립트 명령으로 그 기능은 매우 강력하며 JScript 및 VBScript 스크립트 언어를 사용하여 간단한 구문, 배우기 쉽고 강력한 기능을 제공합니다. 이 글에서 소개한 레지스트리를 수정하는 것 외에도 엑셀 파일에 접근하고 네트워크와도 통신할 수 있다는 것이 가장 큰 장점이다. 운영 체제와 통신하는 방법은 빙산의 일각입니다. 많은 Windows 사용자들이 선호하는 것은 많은 장점과 실용성 때문입니다. 이 기사에서는 WSH의 우아함을 감상할 수 있도록 소개하겠습니다.
VBScript로 작성된 WSH 프로그램 파일의 확장자는 .vbs입니다. 스크립트 프로그램은 창 인터페이스의 wscript.exe 파일과 문자 인터페이스의 cscript.exe 파일에 의해 해석되고 실행됩니다. 명령 형식은 cscript 파일 이름입니다. .
객체를 생성하고 VBScript를 사용하여 레지스트리를 수정하려면 먼저 운영체제와 통신할 수 있는 객체를 생성한 후 객체의 다양한 메소드를 사용하여 레지스트리를 작동시켜야 합니다. 이 객체를 생성하는 방법과 형식은 다음과 같습니다. :
Dim OperationRegistry
OperationRegistry=WScript.CreateObject("WScript.Shell") 설정
위의 코드는 운영 체제와 통신할 수 있는 OperationRegistry 개체를 만듭니다.
객체 메소드 위의 객체를 갖는다고 해서 바로 레지스트리를 작동할 수 있다는 의미는 아니며, 레지스트리를 작동하기 위해서는 이 객체의 몇 가지 중요한 메소드도 이해해야 합니다.
1. 레지스트리 읽기를 위한 RegRead 작업
2. 레지스트리에 RegWrite 쓰기 작업
3. 레지스트리에 대한 RegDelete 삭제 작업
또한 WSH에는 두 가지 일반적인 방법도 있습니다.
WScript.Echo()는 VB의 MsgBox()와 동일한 텍스트 정보 문자열을 표시하는 데 사용됩니다.
Wscript.Quit()는 VBScript 프로그램을 종료하는 데 사용됩니다.
메소드의 매개변수에는 위의 세 가지 작업 RegRead, RegWrite 및 RegDelete에 대한 매개변수가 필요하며 이러한 작업에 대한 매개변수의 수와 형식은 다릅니다. 아래에서는 해당 매개변수의 공통적이고 필수 매개변수 중 하나에 대해 설명합니다.
이 매개변수는 "경로 매개변수"라고 할 수 있으며, 루트 키, 기본 키 경로, 키 값을 포함합니다. 각 부분을 표현하는 방법은 다음과 같습니다.
루트 키:
루트 키를 나타내는 방법에는 두 가지가 있습니다.
방법 1: 레지스트리에서 해당 문자열을 직접 사용하여 다음과 같이 표시합니다.
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER 등 방법 2: 약어 4자를 사용하여 표현한다. 처음 2개는 HK이고, 마지막 2개는 루트 키워드의 첫 글자이다. 좋다:
루트 키 HKEY_CLASSES_ROOT는 HKCR로 표현되고, 루트 키 HKEY_CURRENT_USER는 HKCU 등으로 표현될 수 있습니다.
기본 키 경로:
기본 키 경로는 레지스트리에 있는 대상 키의 기본 키 위치이며, 각 기본 키는 "" 문자로 구분됩니다. 예: "SoftwareMicrosoftWindowsCurrentVersionPolicies"
핵심 가치:
키-값 매개변수는 기본 키 경로를 직접 따릅니다. 예를 들어 전체 경로는 다음과 같습니다.
"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun"
방법에 대한 자세한 설명
1. RegRead 작업의 자세한 해석 RegRead 작업은 주로 레지스트리에 있는 기본 키의 기본값 또는 키 값 데이터를 읽는 데 사용되며 읽은 데이터를 해당 변수에 보낸 다음 MsgBox() 함수를 사용할 수 있습니다. VB에서 데이터를 표시하면 레지스트리에서 데이터를 읽는 목적이 달성됩니다(OperationRegistry 개체의 Popup() 메서드를 사용하여 읽은 데이터를 화면에 보낼 수도 있음).
'read.vbs (다음 코드를 read.vbs 파일로 저장)
Dim OperationRegistry
OperationRegistry=WScript.CreateObject("WScript.Shell") 설정
희미한 Read_Data1,Read_Data2
Read_Data1=OperationRegistry.RegRead("HKCR.xxf")
'루트 키 HKEY_CLASSES_ROOT 아래에 있는 .xxf 기본 키의 기본값을 읽고 데이터를 Read_Data1 변수로 보냅니다.
Read_Data2=OperationRegistry.RegRead("HKCR.xxf값")
'.xxf 기본 키 아래 값 키의 데이터를 읽고 데이터를 Read_Data2 변수로 보냅니다.
MsgBox("Default="&Read_Data1&" value="&Read_Data2)
'읽은 데이터를 표시합니다.
2. RegWrite 작업에 대한 자세한 설명 RegWrite는 주로 레지스트리에 새로운 기본 키 또는 키 값을 생성하고 초기 값을 제공하는 데 사용됩니다. 이 작업은 기존 기본 키 또는 키 값의 데이터를 수정할 수도 있습니다. , 따라서 쓰기 작업의 매개변수 구조는 읽기 작업의 매개변수 구조보다 더 복잡합니다.
먼저 초기값 매개변수를 살펴보겠습니다. 이 매개변수는 쓰기 작업에 필수적입니다. 비어 있을 수 있지만(null) 생략할 수는 없습니다. 새 기본 키 생성 시 초기값 매개변수는 기본 키의 기본값에 할당되며, 새 키 값 생성 시 초기값 매개변수는 새 키 값의 초기 데이터가 됩니다. 유형 매개변수에 의해 결정됩니다. 주로 세 가지 유형이 있습니다.
(1)REG_SZ: 문자 유형이 기본 유형입니다.
(2)REG_DWORD: 더블바이트 형식입니다.
(3)REG_BINARY: 바이너리 형식입니다.
위의 세 가지 유형 중 첫 번째와 두 번째 유형이 가장 일반적으로 사용됩니다. 이 세 가지 유형의 할당 방법은 다음과 같습니다.
REG_SZ 유형의 경우: "text", "string" 등과 같은 문자열로 직접 할당합니다. REG_DWORD 유형과 REG_BINARY 유형의 경우 두 가지 할당 방법이 있습니다.
i) 0, 1 등과 같은 십진수로 직접 표현됩니다.
ii) 0x12, 0xff 등과 같은 16진수로 표현됩니다. 예를 참조하세요.
'write.vbs
Dim OperationRegistry
OperationRegistry=WScript.CreateObject("WScript.Shell") 설정
기본값=OperationRegistry.RegRead("HKCR")
'널값을 얻습니다(null)
OperationRegistry.RegWrite "HKCR.xxf",기본값
'루트 키 HKEY_CLASSES_ROOT 아래에 새 기본 key.xxf를 생성하고 기본값을 공백으로 설정합니다.
OperationRegistry.RegWrite "HKCR.xxf","xxffile"
'루트 키 HKEY_CLASSES_ROOT 아래에 새 기본 키 .xxf를 생성하고 기본값을 "xxffile"로 설정합니다.
OperationRegistry.RegWrite "HKCR.xxfvalue1","string"
'기본 key.xxf 아래에 새 문자열 키 값 value1을 생성하고 초기 값을 "string"으로 설정합니다.
OperationRegistry.RegWrite "HKCR.xxfvalue2",1,"REG_DWORD"
'기본 key.xxf 아래에 새 REG_DWORD 키 값 value2를 생성하고 초기 값을 1로 설정합니다.
OperationRegistry.RegWrite "HKCR.xxfvalue3",0Xff,"REG_BINARY"
'기본 키 .xxf 아래에 새 이진 키 값 value3을 생성하고 초기 값을 16진수 ff로 설정합니다.
3. RegDelete 작업에 대한 자세한 설명 RegDelete는 주로 레지스트리에 이미 존재하는 기본 키나 키 값을 삭제하는 데 사용됩니다. "잘라내기"는 키 아래에 있는 데이터가 아무리 중요하더라도 방해 없이 작동하므로 이 작업을 사용할 때는 주의하세요.
삭제 작업의 매개변수 형식은 한 가지 작은 차이점을 제외하면 읽기 작업의 매개변수 형식과 거의 동일합니다. 즉, 삭제 작업은 작업의 반환 값을 특정 변수에 보낼 필요가 없습니다. 예를 들면 다음과 같습니다.
'삭제.vbs
Dim OperationRegistry
OperationRegistry=WScript.CreateObject("WScript.Shell") 설정
OperationRegistry.RegRead("HKCR.xxf값")
'.xxf 기본 키 아래의 값 키 값을 삭제합니다.
OperationRegistry.RegRead("HKCR.xxf")
'루트 키 HKEY_CLASSES_ROOT 아래의 .xxf 기본 키를 삭제합니다. 레지스트리에 이미 존재하는 기본 키나 키 값을 삭제하는 것은 물론이고 변경하지 않는다는 점을 강조하는 것이 중요합니다. 레지스트리가 심각합니다. 시스템이 충돌할 수 있습니다. 정말로 이 작업을 수행하려면 레지스트리를 백업해 두십시오.
적용 사례
1. 이 기계의 "컴퓨터 이름"을 읽으십시오
'컴퓨터 이름 읽기.vbs
희미한 읽기컴퓨터 이름
ReadComputerName=WScript.CreateObject("WScript.Shell") 설정
희미한 컴퓨터 이름,RegPath
RegPath="HKLMSystemCurrentControlSetControl컴퓨터 이름컴퓨터 이름컴퓨터 이름"
ComputerName=ReadComputerName.RegRead(RegPath)
MsgBox("컴퓨터 이름"&컴퓨터 이름)
2. 바로가기 아이콘의 작은 화살표 숨기기
'숨겨진.vbs
희미한 숨겨진화살표아이콘
HiddenArrowIcon=WScript.CreateObject("WScript.Shell") 설정
희미한 RegPath1,RegPath2
RegPath1="HKCRlnkfileIsShortCut"
RegPath2="HKCRpiffileIsShortCut"
HiddenArrowIcon.RegDelete(RegPath1)
HiddenArrowIcon.RegDelete(RegPath2)
3. '시작' 메뉴를 변화시키세요
'ChangeStartMenu.vbs
DimChangeStart메뉴
ChangeStartMenu=WScript.CreateObject("WScript.Shell") 설정
RegPath="HKCRSoftwareMicrosoftWindowsCurrentVersionPolicies"
Type_Name="REG_DWORD"
키_데이터=1
StartMenu_Run="실행 안 함"
StartMenu_Find="찾을 수 없음"
StartMenu_Close="닫지 않음"
SubChange(인수)
ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name
MsgBox("성공했습니다!")
서브 끝
Call Change(StartMenu_Run) ''시작' 메뉴에서 '실행' 기능을 비활성화합니다.
Call Change(StartMenu_Find) ''시작' 메뉴에서 '찾기' 기능을 비활성화합니다.
Call Change(StartMenu_Close) ''시작' 메뉴에서 '시스템 종료' 기능을 비활성화합니다.
4. Windows에 자동 시작 프로그램을 추가합니다. 이 프로그램은 컴퓨터를 켜면 자동으로 실행될 수 있습니다.
'AddAutoRunProgram.vbs
'프로그램이 c:myfile 폴더에 있고 파일 이름이 autorun.exe라고 가정합니다.
희미한 자동 실행 프로그램
AutoRunProgram=WScript.CreateObject("WScript.Shell") 설정
RegPath="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
Type_Name="REG_SZ"
Key_Name="자동 실행"
Key_Data="C:Myfileautorun.exe"
'자체 시작 프로그램의 전체 경로 파일 이름
AutoRunProgram.Write RegPath&Key_Name,Key_Data,Type_Name
'시작 그룹에 자동 시작 프로그램 autorun.exe를 추가합니다.
MsgBox("성공했습니다!")