Einstellungen für Nicht-Web-Programme (Desktop-Programme) finden Sie in der Regel in der Registrierung. Bei der automatisierten Prüfung dieser Programme müssen Sie sich häufig mit der Registrierung auseinandersetzen. Ändern Sie die Einstellungen des Programms, indem Sie die Registrierung ändern.
In diesem Kapitel wird vorgestellt, wie C# -Programme zum Betrieb der Registrierung verwendet werden können, insbesondere wie die Registrierung eines 64-Bit-Betriebssystems betrieben wird.
Inhalt lesen
Automatische Tests erfordern häufig eine Änderung des Registers
In der Registrierung finden sich viele Systemeinstellungen (z. B. IE -Einstellungen). Die Einstellungen von Desktop -Anwendungen sind auch in der Registrierung vorhanden. Daher müssen Sie bei automatisierten Tests häufig die Registrierung ändern
Einführung in die Windows -Registrierung
Registrierungsredakteur ist in C: /windows/regedit.exe. Oder im Laufe des Laufens "regeedit" laufen. Sie können den Registrierungsredakteur starten.
Die Registrierung besteht aus Primärschlüssel, Schlüssel, Subkeys und Wertelementen. Die folgende Abbildung
Der Inhalt im Primärschlüssel: HKEY_CURRENT_USER und HKEY_LOCAL_MACHINE sind ähnlich, eine sind die Einstellungen des aktuellen Benutzers und die andere sind die Einstellungen der Maschine.
C# Ändern Sie die Registrierung
Es ist zu einfach, die Registrierung in C#zu ändern. Zuerst mit Microsoft.win32 hinzufügen; Und dann wirst du es schaffen. Schauen Sie sich das Beispiel unten an, lesen Sie, hinzufügen, löschen, ändern und alle Vorgänge.
static void main (String [] args) {// Instanz, ändern Sie die IE -Homepage RegistryKey localMachine = Registry.Currentuser; RegistryKey Sougou = localMachine.opensubkey (@"Software/Microsoft/Internet Explorer/Main", True); // IE Homepage String Version = sougou.getValue ("Startseite"). ToString (); // IE HOMEPAGE SOUGOU.SETVALUE ("START PAGE", "http://www.cnblogs.com/", RegistryValueekind.String) ändern; // Ändern Sie das Tanktest -Wertelement. Wenn es nicht vorhanden ist, erstellen Sie ein neues Tanktest -Wertelement. Sougou.setValue ("Tanktest2", "1", RegistryValueekind.dWord); // Löschen Sie den Wertelement sougou.deletValue ("Tanktest2"); // Erstellen Sie einen neuen subkey sougou.createSubkey ("this is subKey1"); Sougou.CreateSubkey ("Dies ist subKey2"); // Löschen Sie den subkey sougou.deletesubkey ("this is subKey1"); }Die Differenz zwischen 32-Bit-Betriebssystem und 64-Bit-Betriebssystemregister
Der obige Code ist in Ordnung, um auf einem 32-Bit-Betriebssystem auszuführen, funktioniert jedoch nicht in einem 64-Bit-Betriebssystem.
Es gibt auch 32-Bit- und 64-Bit-Anwendungen. In einem 64-Bit-Betriebssystem können 32-Bit-Anwendungen und 64-Bit-Anwendungen ausgeführt werden.
Wenn Sie eine 32-Bit-Anwendung in einem 64-Bit-Betriebssystem installieren, wird diese unter C:/Programmdateien (x86)/installiert. Starten Sie den Task-Manager und Sie sehen den Prozessnamen des 32-Bit-Programms und bringen ein "*32" wie unten gezeigt:
Hinweis: In 64-Bit-Betriebssystem:
Die Registrierung für das 64-Bit
Die Registrierung des 32-Bit-Programms befindet sich stattdessen in: hkey_local_maachine/software/wow6432Node/microsoft/Internet Explorer
C# -Programm greift auf die Registrierung eines 64-Bit-Betriebssystems zu
Die C# -Programme sind alle 32-Bit. Wenn Sie auf die Registrierung zugreifen, greifen sie auf hkey_local_maachine/software/wow6432node/zu, aber sie können nicht auf hkey_local_maachine/software zugreifen/nicht zugreifen
Vorherige .NET 3.5 C# -Programme, die zum Zugriff auf die Registrierung des 64-Bit-Betriebssystems über Win32-API-Funktionen (mit Hunderten von Code-Zeilen) erforderlich sind, um auf die Registrierung des 64-Bit-Betriebssystems zuzugreifen.
Nach .NET 4.0 ist leicht auf die Registrierung eines 64-Bit-Betriebssystems zugreifen.
static void main (String [] args) {// Die Registrierung des 64-Bit-Betriebssystems ändern // Die Homepage von IE // RegistryView verwenden, um festzustellen, ob es sich um ein 64-Bit-Betriebssystem oder ein 32-Bit-RegistryKey localKey = RegistryKey.openbaseKey (microsoft.win32.registry22.registry.registry.registry.registry.registry.Registry.Registry.Registry.Registry.Registry.Registry). localKey = localKey.opensubkey (@"Software/Microsoft/Internet Explorer/Main", True); if (localKey! = null) {localKey.setValue ("Startseite", "http://www.cnblogs.com"); }}Die oben genannten Informationen über das automatische Test lesen und das Schreiben des 64-Bit-Betriebssystemregisters. Wir werden die relevanten Informationen in Zukunft weiterhin organisieren. Vielen Dank für Ihre Unterstützung für diese Seite!