>  기사  >  웹 프론트엔드  >  js에서 레지스트리를 수정하는 방법

js에서 레지스트리를 수정하는 방법

王林
王林앞으로
2020-04-05 09:19:192269검색

js에서 레지스트리를 수정하는 방법

이 글은 주로 WshShell 객체의 관련 메소드를 통해 구현되었습니다.

WshShell 개체는 WSH에 내장된 개체입니다(WSH는 Windows 운영 체제에 내장된 스크립팅 언어 작업 환경인 Windows ing Host의 약어입니다). 주로 프로그램의 로컬 실행과 처리를 담당합니다. 레지스트리, 바로가기 생성, 시스템 폴더 정보 획득, 환경변수 처리 등

WshShell 개체의 관련 메서드는 표 11.1에 나와 있습니다.

js에서 레지스트리를 수정하는 방법

이 예제에서는 RegWrite 메서드를 주로 사용하는데, 이에 대해서는 아래에서 자세히 소개하겠습니다.

RegWrite 메소드는 레지스트리에 지정된 키 또는 값을 설정하는 데 사용됩니다. 구문은 다음과 같습니다.

WshShell.RegWrite strName, anyValue, [strType]

매개변수 설명:

l strName: strName이 다음으로 끝나는 경우 레지스트리의 키 또는 값을 지정하는 데 사용됩니다. 백슬래시(/)가 끝나면 메서드가 키를 설정하고, 그렇지 않으면 값을 설정합니다. strName 매개변수는 루트 키 이름 "HKEY_CURRENT_USER", "HKEY_LOCAL_MACHINE", "HKEY_CLASSES_ROOT", "HKEY_USERS" 또는 "HKEY_CURRENT_CONFIG"로 시작해야 합니다.

l AnyValue: 레지스트리의 키 또는 값을 지정하는 데 사용되는 값입니다. strType이 REG_SZ 또는 REG_EXPAND_SZ인 경우 RegWrite 메서드는 자동으로 anyValue를 문자열로 변환합니다. strType이 REG_DWORD인 경우 anyValue는 정수로 변환됩니다. strType이 REG_BINARY인 경우 anyValue는 정수여야 합니다.

l StrType: 레지스트리의 키 또는 값을 지정하는 데 사용되는 데이터 유형입니다. RegWrite 메소드가 지원하는 데이터 유형은 REG_SZ, REG_EXPAND_SZ, REG_DWORD 및 REG_BINARY입니다. 다른 데이터 유형은 strType으로 전달되고 RegWrite는 E_INVALIDARG를 반환합니다.

구현 과정:

(1) 머리글과 바닥글을 지우고 머리글과 바닥글을 복원하는 기능을 구현하기 위해 사용자 정의 함수 PageSetup_del() 및 PageSetup_set()을 작성합니다. 구체적인 코드는 다음과 같습니다.

< language=" "> 
 var HKEY_RootPath="HKEY_CURRENT_USER//Software//Microsoft//Internet Explorer//PageSetup//"; function PageSetup_del()
{  
 //清空页眉页脚
 try
{ 
 var WSc=new ActiveX ("W .Shell");  HKEY_Key="header"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"");  HKEY_Key="footer"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,""); 
}catch(e){} 
} 
function PageSetup_set()
{ 
 //恢复页眉页脚 
 try{ 
 var WSc=new ActiveX ("W .Shell");  HKEY_Key="header"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&w&b页码,&p/&P");  
HKEY_Key="footer"; 
 WSc.RegWrite(HKEY_RootPath+HKEY_Key,"&u&b&d"); 
 }catch(e){} 
} 
</ >

(2) HTML 태그를 생성하고 WebBrowser 컨트롤을 호출합니다. 코드는 다음과 같습니다.

< id="WebBrowser" classid="ClSID:8856F961-340A-11D0-A96B-00C04Fd705A2" width="0" height="0">

</ >

(3) "머리글 및 바닥글 지우기" 및 "머리글 및 바닥글 복원"의 하이퍼링크를 만듭니다. Footer" 및 사용자 정의 함수 PageSetup_del() 및 PageSetup_set() 호출은 해당 함수를 구현합니다. 코드는 다음과 같습니다.

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="PageSetup_del()">清空页眉页脚</a>

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="PageSetup_set()"> 恢复页眉页脚 </a>

(4) 관련 인쇄 하이퍼링크를 설정하고 WebBrowser 컨트롤의 해당 매개변수를 호출하여 인쇄 미리보기, 인쇄 및 기타 기능을 구현합니다. 코드는 다음과 같습니다:

<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(7,1)">打印预览</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(6,1)">打印</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(6,6)">直接打印</a>

 <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ="document.all.WebBrowser.Execwb(8,1)">页面设置</a>

추천 관련 튜토리얼: js tutorial

위 내용은 js에서 레지스트리를 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제