La configuración para programas no WEB (programas de escritorio) generalmente se encuentran en el registro. Al realizar pruebas automatizadas de estos programas, debe lidiar con el registro con frecuencia. Modifique la configuración del programa modificando el registro.
Este capítulo presenta cómo usar programas C# para operar el registro, especialmente cómo operar el registro de un sistema operativo de 64 bits.
Contenido de lectura
Las pruebas automáticas a menudo requieren modificación del registro
Muchas configuraciones del sistema (como la configuración de IE) se encuentran en el registro. La configuración de las aplicaciones de escritorio también está presente en el registro. Por lo tanto, al realizar pruebas automatizadas, a menudo necesita modificar el registro
Introducción al registro de Windows
El editor de registro está en c: /windows/regedit.exe. O, mientras se ejecuta, ejecute "Regedit". Puede iniciar el editor de registro.
El registro consta de claves primarias, claves, subkeys y artículos de valor. La siguiente figura
Los contenidos en la clave primaria: HKEY_CURRENT_USER y HKEY_LOCAL_MACHINE son similares, uno es la configuración del usuario actual y el otro es la configuración de la máquina.
C# modificar el registro
Es demasiado simple modificar el registro en C#. Primero agregue usando Microsoft.win32; Y luego lo harás. Mire el ejemplo a continuación, lea, agregue, elimine, modifique y tenga todas las operaciones.
static void main (string [] args) {// instancia, modifique el registro de la página de inicio del IE localkine = registry.currentuser; RegistryKey SouGou = localmachine.opensubkey (@"Software/Microsoft/Internet Explorer/Main", verdadero); // Obtener IE HomePage String versión = SouGou.getValue ("Página de inicio"). ToString (); // Modifique IE HomePage SouGou.SetValue ("Página de inicio", "http://www.cnblogs.com/", RegistryValueKind.string); // Modificar el artículo de valor TankTest. Si no existe, cree un nuevo elemento de valor TankTest. SouGou.SetValue ("TankTest2", "1", RegistryValueKind.dword); // Eliminar el valor del elemento souguu.deletEvalue ("TankTest2"); // Crear una nueva subterránea SouGou.CreateSubkey ("Esto es subpuesta1"); SouGou.CreateSubkey ("Esto es subprocesos2"); // Eliminar el Subkey SouGou.DeleteSubkey ("Esto es Subkey1"); }La diferencia entre el sistema operativo de 32 bits y el registro del sistema operativo de 64 bits
El código anterior está bien ejecutarse en un sistema operativo de 32 bits, pero no funcionará en un sistema operativo de 64 bits.
También hay aplicaciones de 32 bits y 64 bits. En un sistema operativo de 64 bits, se pueden ejecutar aplicaciones de 32 bits y aplicaciones de 64 bits.
Si instala una aplicación de 32 bits en un sistema operativo de 64 bits, se instalará en C:/Archivos de programa (x86)/. Inicie el administrador de tareas y verá el nombre del proceso del programa de 32 bits y traerá un "*32" como se muestra a continuación:
Nota: En el sistema operativo de 64 bits:
El registro para el programa de 64 bits todavía está en: HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer
En su lugar, el registro del programa de 32 bits está en: HKEY_LOCAL_MACHINE/Software/WOW6432Node/Microsoft/Internet Explorer
El programa C# accede al registro de un sistema operativo de 64 bits
Los programas C# son todos de 32 bits. Al acceder al registro, accederán a HKEY_LOCAL_MACHINE/Software/WOW6432Node/, pero no pueden acceder a HKEY_LOCAL_MACHINE/Software/
Los programas anteriores de .NET 3.5 C# necesarios para acceder al registro del sistema operativo de 64 bits a través de funciones de API WIN32 (con cientos de líneas de código requeridas) para acceder al registro del sistema operativo de 64 bits.
Es fácil acceder al registro de un sistema operativo de 64 bits después de .NET 4.0.
static void main (string [] args) {// Modifique el registro del sistema operativo de 64 bits // Modifique la página de inicio de IE // use RegistryView para especificar si es un sistema operativo de 64 bits o un registro de 32 bits RegistryKey = RegistryKey.openbasekey (microsoft.win32.registryhive.currentuser, RegistrySewey. localkey = localkey.opensubkey (@"software/Microsoft/Internet Explorer/Main", verdadero); if (localkey! = null) {localkey.setValue ("página de inicio", "http://www.cnblogs.com"); }}Lo anterior es la información sobre la lectura y la redacción de pruebas automáticas del registro del sistema operativo de 64 bits. Continuaremos organizando la información relevante en el futuro. ¡Gracias por su apoyo para este sitio!