Les paramètres des programmes non Web (programmes de bureau) se trouvent généralement dans le registre. Lorsque vous effectuez des tests automatisés de ces programmes, vous devez traiter fréquemment le registre. Modifiez les paramètres du programme en modifiant le registre.
Ce chapitre présente comment utiliser les programmes C # pour faire fonctionner le registre, en particulier comment utiliser le registre d'un système d'exploitation 64 bits.
Contenu de la lecture
Les tests automatiques nécessitent souvent une modification du registre
De nombreux paramètres système (tels que les paramètres IE) se trouvent dans le registre. Les paramètres des applications de bureau sont également présents dans le registre. Par conséquent, lorsque vous effectuez des tests automatisés, vous devez souvent modifier le registre
Introduction au registre Windows
L'éditeur de registre est en c: /windows/regedit.exe. Ou, pendant la course, exécutez "regedit". Vous pouvez démarrer l'éditeur de registre.
Le registre se compose de clés, clés, sous-clés et éléments de valeur primaires. La figure suivante
Le contenu dans la clé primaire: HKEY_CURRENT_USER et HKEY_LOCAL_MACHINE sont similaires, l'un est les paramètres de l'utilisateur actuel et l'autre est les paramètres de la machine.
C # Modifiez le registre
Il est trop simple pour modifier le registre en C #. Ajouter d'abord en utilisant Microsoft.Win32; Et puis vous le ferez. Regardez l'exemple ci-dessous, lisez, ajoutez, supprimez, modifiez et ayez toutes les opérations.
static void main (String [] args) {// instance, modifiez la page d'accueil IE RegistryKey localmachine = registry.currentUser; RegistryKey Sougou = LocalMachine.OpenSubKey (@ "Software / Microsoft / Internet Explorer / Main", true); // Obtenez IE HomePage String version = sougou.getValue ("start page"). ToString (); // Modifier IE Homepage Sougou.setValue ("Démarrer la page", "http://www.cnblogs.com/", RegistryValuekind.string); // Modifiez l'élément de valeur TankTest. S'il n'existe pas, créez un nouvel élément de valeur TankTest. Sougou.setValue ("TankTest2", "1", RegistryValuekind.dword); // Supprimer l'élément de valeur Sougou.DeleTevalue ("TankTest2"); // Créer un nouveau sous-key sougou.createSubKey ("This Is Subkey1"); Sougou.CreateSubkey ("Ceci est subky2"); // Supprimer le sous-clé sougou.deletesubkey ("Ceci est subkey1"); }La différence entre le système d'exploitation 32 bits et le registre du système d'exploitation 64 bits
Le code ci-dessus est bien pour s'exécuter sur un système d'exploitation 32 bits, mais il ne fonctionnera pas dans un système d'exploitation 64 bits.
Il existe également des applications 32 bits et 64 bits. Dans un système d'exploitation 64 bits, des applications 32 bits et des applications 64 bits peuvent être exécutées.
Si vous installez une application 32 bits dans un système d'exploitation 64 bits, il sera installé sous C: / Program Files (x86) /. Démarrez le gestionnaire de tâches et vous verrez le nom du processus du programme 32 bits et apportera un "* 32" comme indiqué ci-dessous:
Remarque: dans le système d'exploitation 64 bits:
Le registre du programme 64 bits est toujours dans: HKEY_LOCAL_MACHINE / SOFTWAY / Microsoft / Internet Explorer
Le registre du programme 32 bits est à la place dans: HKEY_LOCAL_MACHINE / SOFTWAY / WOW6432NODE / Microsoft / Internet Explorer
Le programme C # accède au registre d'un système d'exploitation 64 bits
Les programmes C # sont tous 32 bits. Lors de l'accès au registre, ils accéderont à HKEY_LOCAL_MACHINE / SOFTWAY / WOW6432NODE /, mais ils ne peuvent pas accéder à HKEY_LOCAL_MACHINE / Software /
Programmes précédents .NET 3.5 C # nécessaires pour accéder au registre du système d'exploitation 64 bits via des fonctions API WIN32 (avec des centaines de lignes de code requises) pour accéder au registre du système d'exploitation 64 bits.
Il est facile d'accéder au registre d'un système d'exploitation 64 bits après .NET 4.0.
Static void Main (String [] args) {// Modifiez le registre du système d'exploitation 64 bits // Modifiez la page d'accueil de IE // Utiliser RegistryView pour spécifier s'il s'agit d'un système d'exploitation 64 bits ou d'un registre 32 bits localkey = RegistryKey.OpenBaseKey (Microsoft.win32.RegistyHive.CurrentUser, RegistryView. localKey = localKey.openSubKey (@ "logiciel / Microsoft / Internet Explorer / Main", true); if (localKey! = null) {localKey.setValue ("start page", "http://www.cnblogs.com"); }}Ce qui précède est les informations sur la lecture et l'écriture de tests automatique du registre du système d'exploitation 64 bits. Nous continuerons d'organiser les informations pertinentes à l'avenir. Merci pour votre soutien à ce site!