Frage

Was ist der beste Weg, eine .reg-Datei programmgesteuert in die Registrierung einzufügen?Dies ist für Unit-Tests gedacht.Die .reg-Datei ist ein Testartefakt, das zu Beginn und am Ende des Tests hinzugefügt und wieder entfernt wird.

Oder wenn es eine bessere Möglichkeit gibt, einen Komponententest mit der Registrierung durchzuführen ...

War es hilfreich?

Lösung

Es ist möglich, Registrierungsschlüssel mithilfe einer .reg-Datei zu entfernen, obwohl ich nicht sicher bin, wie gut dies dokumentiert ist.Hier ist wie:

REGEDIT4

[-HKEY_CURRENT_USER\Software\<otherpath>]

Der - vor dem Schlüsselnamen verrät Regedit dass Sie den Schlüssel abziehen möchten.

Um dies im Hintergrund auszuführen, geben Sie Folgendes ein:

regedit /s "myfile.reg"

Andere Tipps

Wenn Sie berappen, würde ich den Befehl reg verwenden (Details unten).Wenn Sie uns mitteilen können, mit welcher Sprache Sie arbeiten, können wir sprachspezifischen Code bereitstellen.

C:>reg /?

REG-Betrieb [Parameterliste]

Operation [Abfrage | Hinzufügen | Löschen | Kopie | Speichern | Laden | Entladen | Wiederherstellen | Vergleiche | Export | Import | FLAGGEN

Rückgabe Code:(Außer REG COMPARE)

0 - erfolgreich 1 - fehlgeschlagen

Für Hilfe zu einem bestimmten Vorgangstyp:

REG HINZUFÜGEN /?REG LÖSCHEN /?[ausgeschnitten]

Ich habe es untersucht, indem ich meine Dateizuordnungen überprüft habe.

Es scheint, dass eine .reg-Datei nur als erster Parameter aufgerufen wird regedit.exe ausführbar unter Windows.

Man kann es also einfach sagen regedit.exe "mytest.reg".Ich bin mir nicht sicher, wie ich das daraufhin angezeigte Dialogfeld entfernen kann, in dem Sie um Bestätigung gebeten werden.

Verwenden Sie die Win32-API-Funktion ShellExecute() oder ShellExecuteEx().Wenn der Kommentar „offen“ ist, sollte die .reg-Datei zusammengeführt werden.Ich habe es nicht getestet, aber es sollte funktionieren.

Eines der frustrierendsten Dinge beim Schreiben von Unit-Tests ist der Umgang mit Abhängigkeiten.Eines der großartigsten Dinge an der testgetriebenen Entwicklung ist, dass sie Code erzeugt, der von seinen Abhängigkeiten entkoppelt ist.Cool was?

Wenn ich Fragen wie diese stelle, suche ich nach Möglichkeiten, den Code, den ich schreibe, von der Abhängigkeit zu entkoppeln.Trennen Sie das Lesen der Registrierung von der Komplexität, die Sie testen möchten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top