Después de leer esto, puedes usar ASP para modificar el registro.
¿Has oído hablar del famoso WSH? Es la abreviatura de Windows Script Host. WSH es una instrucción de script de la plataforma Windows. Su función es muy poderosa y también utiliza lenguajes de scripting JScript y VBScript con sintaxis simple, fácil de aprender y usar, y funciones potentes. Para lograr sus excelentes funciones, además de modificar el registro presentado en este artículo, también puede acceder a archivos de Excel y comunicarse con la red. Por supuesto, su mayor ventaja es que puede comunicarse con el sistema operativo y solo modificar el registro. una forma de comunicarse con el sistema operativo. La punta del iceberg. Es por sus muchas ventajas y practicidad que muchos usuarios de Windows lo prefieren. Este artículo se lo presentará para que pueda apreciar la elegancia de WSH.
La extensión del archivo de programa WSH escrito en VBScript es .vbs. El programa de script es interpretado y ejecutado por el archivo wscript.exe en la interfaz de ventana y por el archivo cscript.exe en la interfaz de caracteres. El formato del comando es: nombre de archivo cscript. .
Para crear un objeto y usar VBScript para modificar el registro, primero debe crear un objeto que pueda comunicarse con el sistema operativo y luego usar varios métodos del objeto para operar el registro. El método y el formato para crear este objeto son los siguientes. :
Registro de operación tenue
Establecer OperationRegistry=WScript.CreateObject("WScript.Shell")
El código anterior crea un objeto OperationRegistry que puede comunicarse con el sistema operativo.
Métodos de objeto Tener el objeto anterior no significa que podamos operar el registro inmediatamente. También debemos comprender varios métodos importantes de este objeto para operar el registro.
1. Operación RegRead para leer el registro.
2. Operación de escritura RegWrite en el registro
3. Operación de eliminación RegDelete en el registro.
Además, WSH también tiene dos métodos generales:
WScript.Echo() se utiliza para mostrar una cadena de información de texto, que es equivalente a MsgBox() en VB.
Wscript.Quit() se utiliza para salir del programa VBScript.
Los parámetros del método requieren parámetros para las tres operaciones anteriores RegRead, RegWrite y RegDelete, y el número y la forma de los parámetros para estas operaciones son diferentes. A continuación hablaré sobre uno de sus parámetros comunes y esenciales:
Este parámetro se puede denominar "parámetro de ruta", que incluye la clave raíz, la ruta de la clave principal y el valor de la clave. El método para expresar cada parte es el siguiente:
Clave raíz:
Hay dos formas de representar claves raíz.
Método 1: utilizar directamente su cadena en el registro para representarlo, como por ejemplo:
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, etc. Método 2: utilice las cuatro letras de la abreviatura para representarlo. Las dos primeras son HK y las dos últimas son las primeras letras de la palabra clave raíz. como:
La clave raíz HKEY_CLASSES_ROOT se expresa como: HKCR, la clave raíz HKEY_CURRENT_USER se puede expresar como: HKCU, etc.
Ruta de clave principal:
La ruta de la clave principal es la ubicación de la clave principal de la clave de destino en el registro, y cada clave principal está separada por caracteres "". Por ejemplo: "SoftwareMicrosoftWindowsCurrentVersionPolicies"
Valor clave:
Los parámetros clave-valor siguen directamente la ruta de la clave principal. Por ejemplo, una ruta completa se ve así:
"HKCRSoftwareMicrosoftWindowsCurrentVersionPoliciesNoRun"
Explicación detallada del método.
1. Interpretación detallada de la operación RegRead La operación RegRead se usa principalmente para leer el valor predeterminado o los datos del valor clave de la clave primaria en el registro. Podemos enviar los datos leídos a la variable correspondiente y luego usar la función MsgBox (). en VB mostrar los datos logra el propósito de leer los datos en el registro (también puedes usar el método Popup() del objeto OperationRegistry para enviar los datos leídos a la pantalla), por ejemplo:
'read.vbs (guarde el siguiente código como archivo read.vbs)
Registro de operación tenue
Establecer OperationRegistry=WScript.CreateObject("WScript.Shell")
Atenuado Read_Data1,Read_Data2
Read_Data1=OperationRegistry.RegRead("HKCR.xxf")
'Lea el valor predeterminado de la clave primaria .xxf bajo la clave raíz HKEY_CLASSES_ROOT y envíe los datos a la variable Read_Data1
Read_Data2=OperationRegistry.RegRead("HKCR.xxfvalor")
'Lee los datos de la clave de valor bajo la clave primaria .xxf y envía los datos a la variable Read_Data2
MsgBox("Default="&Read_Data1&" valor="&Read_Data2)
'Mostrar los datos leídos
2. Explicación detallada de la operación RegWrite. La operación de escritura RegWrite se utiliza principalmente para crear nuevas claves primarias o valores de clave en el registro y darles un valor inicial. Esta operación también puede modificar los datos de las claves primarias o valores de clave existentes. en el registro. , por lo que la estructura de parámetros de la operación de escritura es más complicada que la de la operación de lectura. No solo requiere parámetros de ruta, sino también un valor inicial y parámetros de tipo.
Veamos primero el parámetro de valor inicial. Este parámetro es esencial para las operaciones de escritura. Puede estar vacío (nulo) pero no se puede omitir. Al crear una nueva clave principal, el parámetro de valor inicial se asigna al valor predeterminado de la clave principal. Al crear un nuevo valor de clave, el parámetro de valor inicial se convierte en los datos iniciales del nuevo valor de clave. determinado por el parámetro de tipo. Hay principalmente tres tipos:
(1)REG_SZ: tipo de carácter. Este tipo es el tipo predeterminado.
(2)REG_DWORD: tipo de doble byte.
(3)REG_BINARY: tipo binario.
El primer y segundo tipo de los tres tipos anteriores son los más utilizados. El tercer tipo puede reemplazarse por el segundo tipo en algunas situaciones. Los métodos de asignación de estos tres tipos son los siguientes:
Para el tipo REG_SZ: asigne directamente con una cadena, como "texto", "cadena", etc. Para el tipo REG_DWORD y el tipo REG_BINARY, existen dos métodos de asignación.
i) Expresado directamente mediante números decimales, tales como: 0, 1, etc.
ii) Expresado en números hexadecimales, como por ejemplo: 0x12, 0xff, etc. Ver ejemplo:
'escribir.vbs
Registro de operación tenue
Establecer OperationRegistry=WScript.CreateObject("WScript.Shell")
Predeterminado=OperationRegistry.RegRead("HKCR")
'Obtener un valor nulo (nulo)
OperationRegistry.RegWrite "HKCR.xxf", predeterminado
'Cree una nueva clave principal.xxf bajo la clave raíz HKEY_CLASSES_ROOT y establezca su valor predeterminado en vacío
OperationRegistry.RegWrite "HKCR.xxf","xxffile"
'Cree una nueva clave primaria .xxf bajo la clave raíz HKEY_CLASSES_ROOT y establezca su valor predeterminado en "xxffile"
OperationRegistry.RegWrite "HKCR.xxfvalue1","cadena"
'Cree un nuevo valor de clave de cadena valor1 bajo la clave principal.xxf y establezca su valor inicial en "cadena"
OperationRegistry.RegWrite "HKCR.xxfvalue2",1,"REG_DWORD"
'Cree un nuevo valor de clave REG_DWORD valor2 bajo la clave principal.xxf y establezca su valor inicial en 1
OperationRegistry.RegWrite "HKCR.xxfvalue3",0Xff,"REG_BINARY"
'Cree un nuevo valor de clave binaria valor3 bajo la clave principal .xxf y establezca su valor inicial en hexadecimal ff
3. Explicación detallada de la operación RegDelete La operación de eliminación RegDelete se utiliza principalmente para eliminar la clave principal o el valor de la clave que ya existe en el registro. el registro. "Chop off" funcionará sin obstáculos sin importar cuán importantes sean los datos debajo de la clave, así que tenga cuidado al utilizar esta operación.
La forma del parámetro de la operación de eliminación es casi idéntica a la forma del parámetro de la operación de lectura, excepto por una pequeña diferencia, es decir, la operación de eliminación no necesita enviar el valor de retorno de la operación a una determinada variable, por ejemplo:
'eliminar.vbs
Registro de operación tenue
Establecer OperationRegistry=WScript.CreateObject("WScript.Shell")
OperationRegistry.RegRead("HKCR.xxfvalor")
'Eliminar el valor de la clave de valor bajo la clave primaria .xxf
OperationRegistry.RegRead("HKCR.xxf")
'Elimine la clave primaria .xxf bajo la clave raíz HKEY_CLASSES_ROOT. Es importante enfatizar que no cambie las claves primarias o los valores de clave que ya existen en el registro, y mucho menos los elimine, debido a una escritura o eliminación incorrecta. El registro es grave. ¡Hará que el sistema falle! Si realmente desea hacer esto, haga una copia de seguridad del registro.
Ejemplos de aplicación
1. Lea el "nombre de la computadora" de esta máquina
'LeerNombreEquipo.vbs
Dim ReadComputerName
Establecer ReadComputerName=WScript.CreateObject("WScript.Shell")
Nombre de computadora oscuro, ruta de registro
RegPath="HKLMSystemCurrentControlSetControlComputerNameComputerNameComputerName"
NombreEquipo=LeerNombreEquipo.RegRead(RegPath)
MsgBox("Nombre de la computadora"&Nombre de la computadora)
2. Oculta la pequeña flecha en el icono de acceso directo.
'Oculto.vbs
Icono de flecha oculta tenue
Establecer HiddenArrowIcon=WScript.CreateObject("WScript.Shell")
Atenuar RegPath1, RegPath2
RegPath1="HKCRlnkfileIsShortCut"
RegPath2="HKCRpiffileIsShortCut"
HiddenArrowIcon.RegDelete (RegPath1)
HiddenArrowIcon.RegDelete (RegPath2)
3. Transforma el menú "Inicio"
'CambiarMenúInicio.vbs
DimCambiarMenú Inicio
Establecer ChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCRSoftwareMicrosoftWindowsCurrentVersionPolicies"
Type_Name="REG_DWORD"
Datos_clave=1
StartMenu_Run="No ejecutar"
StartMenu_Find="NoBuscar"
StartMenu_Close="No cerrar"
Subcambio (argumento)
ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name
MsgBox("¡Éxito!")
Subtítulo final
Call Change(StartMenu_Run) 'Deshabilita la función "Ejecutar" en el menú "Inicio"
Call Change(StartMenu_Find) 'Deshabilita la función "Buscar" en el menú "Inicio"
Call Change(StartMenu_Close) 'Deshabilita la función "Apagar sistema" en el menú "Inicio"
4. Agregue un programa de inicio automático a Windows. Este programa puede ejecutarse automáticamente cuando se enciende la computadora.
'AddAutoRunProgram.vbs
'Supongamos que el programa está en la carpeta c:myfile y el nombre del archivo es autorun.exe
Programa de ejecución automática tenue
Establecer AutoRunProgram=WScript.CreateObject("WScript.Shell")
RegPath="HKLMSoftwareMicrosoftWindowsCurrentVersionRun"
Type_Name="REG_SZ"
Key_Name="Ejecución automática"
Key_Data="C:Miarchivoautorun.exe"
'La ruta completa del nombre del archivo del programa de inicio automático
Programa de ejecución automática. Escriba RegPath y nombre_clave, datos_clave, nombre_tipo
'Agregue el programa de inicio automático autorun.exe en el grupo de inicio
MsgBox("¡Éxito!")