winreg — Windows-Registrierungszugriff


Diese Funktionen stellen die Windows-Registrierungs-API für Python bereit. Anstatt einen Integer als Registrierungshandle zu verwenden, wird ein Handle-Objekt verwendet, um sicherzustellen, dass die Handles korrekt geschlossen werden, auch wenn der Programmierer versäumt, sie explizit zu schließen.

Geändert in Version 3.3: Mehrere Funktionen in diesem Modul lösten früher eine WindowsError aus, die jetzt ein Alias für OSError ist.

Funktionen

Dieses Modul bietet die folgenden Funktionen

winreg.CloseKey(hkey)

Schließt einen zuvor geöffneten Registrierungsschlüssel. Das Argument hkey gibt einen zuvor geöffneten Schlüssel an.

Hinweis

Wenn hkey nicht mit dieser Methode (oder über hkey.Close()) geschlossen wird, wird es geschlossen, wenn das hkey-Objekt von Python zerstört wird.

winreg.ConnectRegistry(computer_name, key)

Stellt eine Verbindung zu einem vordefinierten Registrierungshandle auf einem anderen Computer her und gibt ein Handle-Objekt zurück.

computer_name ist der Name des Remote-Computers im Format r"\\computername". Wenn None, wird der lokale Computer verwendet.

key ist das vordefinierte Handle, zu dem eine Verbindung hergestellt werden soll.

Der Rückgabewert ist das Handle des geöffneten Schlüssels. Wenn die Funktion fehlschlägt, wird eine OSError-Ausnahme ausgelöst.

Löst ein Audit-Ereignis winreg.ConnectRegistry mit den Argumenten computer_name, key aus.

Geändert in Version 3.3: Siehe oben.

winreg.CreateKey(key, sub_key)

Erstellt oder öffnet den angegebenen Schlüssel und gibt ein Handle-Objekt zurück.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

sub_key ist eine Zeichenkette, die den Schlüssel benennt, den diese Methode öffnet oder erstellt.

Wenn key einer der vordefinierten Schlüssel ist, kann sub_key None sein. In diesem Fall ist das zurückgegebene Handle derselbe Schlüsselhandle, der an die Funktion übergeben wurde.

Wenn der Schlüssel bereits existiert, öffnet diese Funktion den vorhandenen Schlüssel.

Der Rückgabewert ist das Handle des geöffneten Schlüssels. Wenn die Funktion fehlschlägt, wird eine OSError-Ausnahme ausgelöst.

Löst ein Audit-Ereignis winreg.CreateKey mit den Argumenten key, sub_key, access aus.

Löst ein Audit-Ereignis winreg.OpenKey/result mit dem Argument key aus.

Geändert in Version 3.3: Siehe oben.

winreg.CreateKeyEx(key, sub_key, reserved=0, access=KEY_WRITE)

Erstellt oder öffnet den angegebenen Schlüssel und gibt ein Handle-Objekt zurück.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

sub_key ist eine Zeichenkette, die den Schlüssel benennt, den diese Methode öffnet oder erstellt.

reserved ist eine reservierte Integer-Zahl und muss Null sein. Der Standardwert ist Null.

access ist eine Integer-Zahl, die eine Zugriffsmaske angibt, die den gewünschten Sicherheitszugriff für den Schlüssel beschreibt. Standard ist KEY_WRITE. Weitere zulässige Werte finden Sie unter Zugriffsrechte.

Wenn key einer der vordefinierten Schlüssel ist, kann sub_key None sein. In diesem Fall ist das zurückgegebene Handle derselbe Schlüsselhandle, der an die Funktion übergeben wurde.

Wenn der Schlüssel bereits existiert, öffnet diese Funktion den vorhandenen Schlüssel.

Der Rückgabewert ist das Handle des geöffneten Schlüssels. Wenn die Funktion fehlschlägt, wird eine OSError-Ausnahme ausgelöst.

Löst ein Audit-Ereignis winreg.CreateKey mit den Argumenten key, sub_key, access aus.

Löst ein Audit-Ereignis winreg.OpenKey/result mit dem Argument key aus.

Hinzugefügt in Version 3.2.

Geändert in Version 3.3: Siehe oben.

winreg.DeleteKey(key, sub_key)

Löscht den angegebenen Schlüssel.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

sub_key ist eine Zeichenkette, die ein Unterschlüssel des durch den Parameter key identifizierten Schlüssels sein muss. Dieser Wert darf nicht None sein, und der Schlüssel darf keine Unterschlüssel haben.

Diese Methode kann keine Schlüssel mit Unterschlüsseln löschen.

Wenn die Methode erfolgreich ist, werden der gesamte Schlüssel einschließlich aller seiner Werte entfernt. Wenn die Methode fehlschlägt, wird eine OSError-Ausnahme ausgelöst.

Löst ein Audit-Ereignis winreg.DeleteKey mit den Argumenten key, sub_key, access aus.

Geändert in Version 3.3: Siehe oben.

winreg.DeleteKeyEx(key, sub_key, access=KEY_WOW64_64KEY, reserved=0)

Löscht den angegebenen Schlüssel.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

sub_key ist eine Zeichenkette, die ein Unterschlüssel des durch den Parameter key identifizierten Schlüssels sein muss. Dieser Wert darf nicht None sein, und der Schlüssel darf keine Unterschlüssel haben.

reserved ist eine reservierte Integer-Zahl und muss Null sein. Der Standardwert ist Null.

access ist eine Integer-Zahl, die eine Zugriffsmaske angibt, die den gewünschten Sicherheitszugriff für den Schlüssel beschreibt. Standard ist KEY_WOW64_64KEY. Unter 32-Bit-Windows werden die WOW64-Konstanten ignoriert. Weitere zulässige Werte finden Sie unter Zugriffsrechte.

Diese Methode kann keine Schlüssel mit Unterschlüsseln löschen.

Wenn die Methode erfolgreich ist, werden der gesamte Schlüssel einschließlich aller seiner Werte entfernt. Wenn die Methode fehlschlägt, wird eine OSError-Ausnahme ausgelöst.

Auf nicht unterstützten Windows-Versionen wird NotImplementedError ausgelöst.

Löst ein Audit-Ereignis winreg.DeleteKey mit den Argumenten key, sub_key, access aus.

Hinzugefügt in Version 3.2.

Geändert in Version 3.3: Siehe oben.

winreg.DeleteValue(key, value)

Entfernt einen benannten Wert aus einem Registrierungsschlüssel.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

value ist eine Zeichenkette, die den zu entfernenden Wert identifiziert.

Löst ein Audit-Ereignis winreg.DeleteValue mit den Argumenten key, value aus.

winreg.EnumKey(key, index)

Listet Unterschlüssel eines geöffneten Registrierungsschlüssels auf und gibt eine Zeichenkette zurück.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

index ist eine Integer-Zahl, die den Index des abzurufenden Schlüssels angibt.

Die Funktion ruft bei jedem Aufruf den Namen eines Unterschlüssels ab. Sie wird typischerweise wiederholt aufgerufen, bis eine OSError-Ausnahme ausgelöst wird, die anzeigt, dass keine weiteren Werte verfügbar sind.

Löst ein Audit-Ereignis winreg.EnumKey mit den Argumenten key, index aus.

Geändert in Version 3.3: Siehe oben.

winreg.EnumValue(key, index)

Listet Werte eines geöffneten Registrierungsschlüssels auf und gibt ein Tupel zurück.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

index ist eine Integer-Zahl, die den Index des abzurufenden Werts angibt.

Die Funktion ruft bei jedem Aufruf den Namen eines Unterschlüssels ab. Sie wird typischerweise wiederholt aufgerufen, bis eine OSError-Ausnahme ausgelöst wird, die anzeigt, dass keine weiteren Werte verfügbar sind.

Das Ergebnis ist ein Tupel aus 3 Elementen

Index

Bedeutung

0

Eine Zeichenkette, die den Wertnamen identifiziert

1

Ein Objekt, das die Wertdaten enthält und dessen Typ vom zugrunde liegenden Registrierungstyp abhängt

2

Eine Integer-Zahl, die den Typ der Wertdaten angibt (siehe Tabelle in der Dokumentation für SetValueEx())

Löst ein Audit-Ereignis winreg.EnumValue mit den Argumenten key, index aus.

Geändert in Version 3.3: Siehe oben.

winreg.ExpandEnvironmentStrings(str)

Erweitert Umgebungsvariablenplätzehalter %NAME% in Zeichenketten wie REG_EXPAND_SZ

>>> ExpandEnvironmentStrings('%windir%')
'C:\\Windows'

Löst ein Audit-Ereignis winreg.ExpandEnvironmentStrings mit dem Argument str aus.

winreg.FlushKey(key)

Schreibt alle Attribute eines Schlüssels in die Registrierung.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

Es ist nicht notwendig, FlushKey() aufzurufen, um einen Schlüssel zu ändern. Registrierungsänderungen werden von der Registrierung mit ihrem Lazy-Flusher auf die Festplatte geschrieben. Registrierungsänderungen werden auch beim Herunterfahren des Systems auf die Festplatte geschrieben. Im Gegensatz zu CloseKey() gibt die Methode FlushKey() erst zurück, wenn alle Daten in die Registrierung geschrieben wurden. Eine Anwendung sollte FlushKey() nur dann aufrufen, wenn sie absolute Gewissheit haben möchte, dass Registrierungsänderungen auf der Festplatte sind.

Hinweis

Wenn Sie nicht wissen, ob ein Aufruf von FlushKey() erforderlich ist, ist er wahrscheinlich nicht erforderlich.

winreg.LoadKey(key, sub_key, file_name)

Erstellt einen Unterschlüssel unter dem angegebenen Schlüssel und speichert Registrierungsnonzero aus einer angegebenen Datei in diesem Unterschlüssel.

key ist ein Handle, das von ConnectRegistry() zurückgegeben wird, oder eine der Konstanten HKEY_USERS oder HKEY_LOCAL_MACHINE.

sub_key ist eine Zeichenkette, die den zu ladenden Unterschlüssel identifiziert.

file_name ist der Name der Datei, aus der Registrierungsdaten geladen werden sollen. Diese Datei muss mit der Funktion SaveKey() erstellt worden sein. Unter dem FAT-Dateisystem darf der Dateiname keine Erweiterung haben.

Ein Aufruf von LoadKey() schlägt fehl, wenn der aufrufende Prozess nicht über das Privileg SE_RESTORE_PRIVILEGE verfügt. Beachten Sie, dass Privilegien sich von Berechtigungen unterscheiden – siehe die Dokumentation zu RegLoadKey für weitere Details.

Wenn key ein von ConnectRegistry() zurückgegebenes Handle ist, dann ist der in file_name angegebene Pfad relativ zum Remote-Computer.

Löst ein Audit-Ereignis winreg.LoadKey mit den Argumenten key, sub_key, file_name aus.

winreg.OpenKey(key, sub_key, reserved=0, access=KEY_READ)
winreg.OpenKeyEx(key, sub_key, reserved=0, access=KEY_READ)

Öffnet den angegebenen Schlüssel und gibt ein Handle-Objekt zurück.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

sub_key ist eine Zeichenkette, die den zu öffnenden Unterschlüssel identifiziert.

reserved ist eine reservierte Integer-Zahl und muss Null sein. Der Standardwert ist Null.

access ist eine Integer-Zahl, die eine Zugriffsmaske angibt, die den gewünschten Sicherheitszugriff für den Schlüssel beschreibt. Standard ist KEY_READ. Weitere zulässige Werte finden Sie unter Zugriffsrechte.

Das Ergebnis ist ein neues Handle für den angegebenen Schlüssel.

Wenn die Funktion fehlschlägt, wird OSError ausgelöst.

Löst ein Audit-Ereignis winreg.OpenKey mit den Argumenten key, sub_key, access aus.

Löst ein Audit-Ereignis winreg.OpenKey/result mit dem Argument key aus.

Geändert in Version 3.2: Die Verwendung von benannten Argumenten ist zulässig.

Geändert in Version 3.3: Siehe oben.

winreg.QueryInfoKey(key)

Gibt Informationen über einen Schlüssel als Tupel zurück.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

Das Ergebnis ist ein Tupel aus 3 Elementen

Index

Bedeutung

0

Eine Integer-Zahl, die die Anzahl der Unterschlüssel dieses Schlüssels angibt.

1

Eine Integer-Zahl, die die Anzahl der Werte dieses Schlüssels angibt.

2

Eine Integer-Zahl, die angibt, wann der Schlüssel zuletzt geändert wurde (falls verfügbar) als 100 Nanosekunden seit dem 1. Januar 1601.

Löst ein Audit-Ereignis winreg.QueryInfoKey mit dem Argument key aus.

winreg.QueryValue(key, sub_key)

Ruft den unbenannten Wert für einen Schlüssel als Zeichenkette ab.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

sub_key ist eine Zeichenkette, die den Namen des Unterschlüssels enthält, mit dem der Wert assoziiert ist. Wenn dieser Parameter None oder leer ist, ruft die Funktion den von der Methode SetValue() für den durch key identifizierten Schlüssel gesetzten Wert ab.

Werte in der Registrierung haben Komponenten für Name, Typ und Daten. Diese Methode ruft die Daten für den ersten Wert eines Schlüssels ab, der einen NULL-Namen hat. Die zugrunde liegende API ruft jedoch nicht den Typ ab, daher sollte QueryValueEx() immer, wenn möglich, verwendet werden.

Löst ein Audit-Ereignis winreg.QueryValue mit den Argumenten key, sub_key, value_name aus.

winreg.QueryValueEx(key, value_name)

Ruft den Typ und die Daten für einen angegebenen Wertnamen ab, der einem geöffneten Registrierungsschlüssel zugeordnet ist.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

value_name ist eine Zeichenkette, die den abzufragenden Wert angibt.

Das Ergebnis ist ein Tupel aus 2 Elementen

Index

Bedeutung

0

Der Wert des Registrierungseintrags.

1

Eine Integer-Zahl, die den Registrierungstyp für diesen Wert angibt (siehe Tabelle in der Dokumentation für SetValueEx())

Löst ein Audit-Ereignis winreg.QueryValue mit den Argumenten key, sub_key, value_name aus.

winreg.SaveKey(key, file_name)

Speichert den angegebenen Schlüssel und alle seine Unterschlüssel in der angegebenen Datei.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

file_name ist der Name der Datei, in die Registrierungsdaten gespeichert werden sollen. Diese Datei darf noch nicht existieren. Wenn dieser Dateiname eine Erweiterung enthält, kann er auf FAT-Dateisystemen von der Methode LoadKey() nicht verwendet werden.

Wenn key einen Schlüssel auf einem Remote-Computer darstellt, ist der durch file_name beschriebene Pfad relativ zum Remote-Computer. Der Aufrufer dieser Methode muss über das Sicherheitsrecht **SeBackupPrivilege** verfügen. Beachten Sie, dass Privilegien sich von Berechtigungen unterscheiden – siehe die Dokumentation zu Konflikten zwischen Benutzerrechten und Berechtigungen für weitere Details.

Diese Funktion übergibt NULL für security_attributes an die API.

Löst ein Audit-Ereignis winreg.SaveKey mit den Argumenten key, file_name aus.

winreg.SetValue(key, sub_key, type, value)

Assoziiert einen Wert mit einem angegebenen Schlüssel.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

sub_key ist eine Zeichenkette, die den Namen des Unterschlüssels angibt, mit dem der Wert assoziiert ist.

type ist eine Integer-Zahl, die den Typ der Daten angibt. Derzeit muss dies REG_SZ sein, was bedeutet, dass nur Zeichenketten unterstützt werden. Verwenden Sie die Funktion SetValueEx() für die Unterstützung anderer Datentypen.

value ist eine Zeichenkette, die den neuen Wert angibt.

Wenn der durch den Parameter sub_key angegebene Schlüssel nicht existiert, erstellt die Funktion SetValue ihn.

Wertlängen sind durch den verfügbaren Speicher begrenzt. Lange Werte (mehr als 2048 Bytes) sollten als Dateien gespeichert werden, wobei die Dateinamen in der Konfigurationsregistrierung gespeichert werden. Dies hilft der Registrierung, effizient zu arbeiten.

Der durch den Parameter key identifizierte Schlüssel muss mit KEY_SET_VALUE-Zugriff geöffnet worden sein.

Löst ein Audit-Ereignis winreg.SetValue mit den Argumenten key, sub_key, type, value aus.

winreg.SetValueEx(key, value_name, reserved, type, value)

Speichert Daten im Wertfeld eines geöffneten Registrierungsschlüssels.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

value_name ist eine Zeichenkette, die den Namen des Unterschlüssels angibt, mit dem der Wert assoziiert ist.

reserved kann beliebig sein – Null wird immer an die API übergeben.

type ist eine Integer-Zahl, die den Typ der Daten angibt. Siehe Werttypen für die verfügbaren Typen.

value ist eine Zeichenkette, die den neuen Wert angibt.

Diese Methode kann auch zusätzliche Wert- und Typnonzero für den angegebenen Schlüssel festlegen. Der durch den Parameter key identifizierte Schlüssel muss mit KEY_SET_VALUE-Zugriff geöffnet worden sein.

Um den Schlüssel zu öffnen, verwenden Sie die Methoden CreateKey() oder OpenKey().

Wertlängen sind durch den verfügbaren Speicher begrenzt. Lange Werte (mehr als 2048 Bytes) sollten als Dateien gespeichert werden, wobei die Dateinamen in der Konfigurationsregistrierung gespeichert werden. Dies hilft der Registrierung, effizient zu arbeiten.

Löst ein Audit-Ereignis winreg.SetValue mit den Argumenten key, sub_key, type, value aus.

winreg.DisableReflectionKey(key)

Deaktiviert die Registrierungsumleitung für 32-Bit-Prozesse, die auf einem 64-Bit-Betriebssystem ausgeführt werden.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

Löst im Allgemeinen NotImplementedError aus, wenn sie auf einem 32-Bit-Betriebssystem ausgeführt wird.

Wenn der Schlüssel nicht auf der Umleitungsliste steht, ist die Funktion erfolgreich, hat aber keine Auswirkungen. Die Deaktivierung der Umleitung für einen Schlüssel hat keine Auswirkungen auf die Umleitung von Unterschlüsseln.

Löst ein Audit-Ereignis winreg.DisableReflectionKey mit dem Argument key aus.

winreg.EnableReflectionKey(key)

Stellt die Registrierungsumleitung für den angegebenen deaktivierten Schlüssel wieder her.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

Löst im Allgemeinen NotImplementedError aus, wenn sie auf einem 32-Bit-Betriebssystem ausgeführt wird.

Das Wiederherstellen der Umleitung für einen Schlüssel hat keine Auswirkungen auf die Umleitung von Unterschlüsseln.

Löst ein Audit-Ereignis winreg.EnableReflectionKey mit dem Argument key aus.

winreg.QueryReflectionKey(key)

Ermittelt den Umleitungsstatus für den angegebenen Schlüssel.

key ist ein bereits geöffneter Schlüssel oder eine der vordefinierten HKEY_* Konstanten.

Gibt True zurück, wenn die Umleitung deaktiviert ist.

Löst im Allgemeinen NotImplementedError aus, wenn sie auf einem 32-Bit-Betriebssystem ausgeführt wird.

Löst ein Audit-Ereignis winreg.QueryReflectionKey mit dem Argument key aus.

Konstanten

Die folgenden Konstanten sind für die Verwendung in vielen Funktionen von winreg definiert.

HKEY_* Konstanten

winreg.HKEY_CLASSES_ROOT

Registrierungseinträge, die dieser Schlüssel enthält, definieren Dokumenttypen (oder Klassen) und die zugehörigen Eigenschaften. Shell- und COM-Anwendungen verwenden die Informationen, die unter diesem Schlüssel gespeichert sind.

winreg.HKEY_CURRENT_USER

Registrierungseinträge, die dieser Schlüssel enthält, definieren die Präferenzen des aktuellen Benutzers. Diese Präferenzen umfassen Einstellungen von Umgebungsvariablen, Daten zu Programm-Gruppen, Farben, Druckern, Netzwerkverbindungen und Anwendungseinstellungen.

winreg.HKEY_LOCAL_MACHINE

Registrierungseinträge, die dieser Schlüssel enthält, definieren den physischen Zustand des Computers, einschließlich Daten zum Bustyp, Systemspeicher sowie installierter Hardware und Software.

winreg.HKEY_USERS

Registrierungseinträge, die dieser Schlüssel enthält, definieren die Standardbenutzerkonfiguration für neue Benutzer auf dem lokalen Computer sowie die Benutzerkonfiguration für den aktuellen Benutzer.

winreg.HKEY_PERFORMANCE_DATA

Registrierungseinträge, die dieser Schlüssel enthält, ermöglichen den Zugriff auf Leistungsdaten. Die Daten werden nicht tatsächlich in der Registrierung gespeichert; die Registrierungsfunktionen veranlassen das System, die Daten von ihrer Quelle zu sammeln.

winreg.HKEY_CURRENT_CONFIG

Enthält Informationen über das aktuelle Hardwareprofil des lokalen Computersystems.

winreg.HKEY_DYN_DATA

Dieser Schlüssel wird in Windows-Versionen nach 98 nicht mehr verwendet.

Zugriffsrechte

Weitere Informationen finden Sie unter Registry Key Security and Access.

winreg.KEY_ALL_ACCESS

Kombiniert die Zugriffsrechte STANDARD_RIGHTS_REQUIRED, KEY_QUERY_VALUE, KEY_SET_VALUE, KEY_CREATE_SUB_KEY, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY und KEY_CREATE_LINK.

winreg.KEY_WRITE

Kombiniert die Zugriffsrechte STANDARD_RIGHTS_WRITE, KEY_SET_VALUE und KEY_CREATE_SUB_KEY.

winreg.KEY_READ

Kombiniert die Werte STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS und KEY_NOTIFY.

winreg.KEY_EXECUTE

Entspricht KEY_READ.

winreg.KEY_QUERY_VALUE

Erforderlich, um die Werte eines Registrierungsschlüssels abzufragen.

winreg.KEY_SET_VALUE

Erforderlich, um einen Registrierungswert zu erstellen, zu löschen oder zu setzen.

winreg.KEY_CREATE_SUB_KEY

Erforderlich, um einen Unterschlüssel eines Registrierungsschlüssels zu erstellen.

winreg.KEY_ENUMERATE_SUB_KEYS

Erforderlich, um die Unterschlüssel eines Registrierungsschlüssels aufzulisten.

winreg.KEY_NOTIFY

Erforderlich, um Änderungsbenachrichtigungen für einen Registrierungsschlüssel oder für Unterschlüssel eines Registrierungsschlüssels anzufordern.

Reserviert für die Systemnutzung.

64-Bit-spezifisch

Weitere Informationen finden Sie unter Accessing an Alternate Registry View.

winreg.KEY_WOW64_64KEY

Gibt an, dass eine Anwendung unter 64-Bit-Windows auf der 64-Bit-Registrierungsansicht operieren soll. Unter 32-Bit-Windows wird diese Konstante ignoriert.

winreg.KEY_WOW64_32KEY

Gibt an, dass eine Anwendung unter 64-Bit-Windows auf der 32-Bit-Registrierungsansicht operieren soll. Unter 32-Bit-Windows wird diese Konstante ignoriert.

Werttypen

Weitere Informationen finden Sie unter Registry Value Types.

winreg.REG_BINARY

Binärdaten in beliebiger Form.

winreg.REG_DWORD

32-Bit-Zahl.

winreg.REG_DWORD_LITTLE_ENDIAN

Eine 32-Bit-Zahl im Little-Endian-Format. Entspricht REG_DWORD.

winreg.REG_DWORD_BIG_ENDIAN

Eine 32-Bit-Zahl im Big-Endian-Format.

winreg.REG_EXPAND_SZ

Nullterminierter String, der Verweise auf Umgebungsvariablen (%PATH%) enthält.

Ein Unicode-Symbolischer Link.

winreg.REG_MULTI_SZ

Eine Sequenz von nullterminierten Strings, die durch zwei Nullzeichen beendet wird. (Python behandelt diese Beendigung automatisch.)

winreg.REG_NONE

Kein definierter Werttyp.

winreg.REG_QWORD

64-Bit-Zahl.

Hinzugefügt in Version 3.6.

winreg.REG_QWORD_LITTLE_ENDIAN

Eine 64-Bit-Zahl im Little-Endian-Format. Entspricht REG_QWORD.

Hinzugefügt in Version 3.6.

winreg.REG_RESOURCE_LIST

Eine Gerätetreiber-Ressourcenliste.

winreg.REG_FULL_RESOURCE_DESCRIPTOR

Eine Hardwareeinstellung.

winreg.REG_RESOURCE_REQUIREMENTS_LIST

Eine Hardware-Ressourcenliste.

winreg.REG_SZ

Ein nullterminierter String.

Registrierungs-Handle-Objekte

Dieses Objekt umschließt ein Windows HKEY-Objekt und schließt es automatisch, wenn das Objekt zerstört wird. Um die Bereinigung sicherzustellen, können Sie entweder die Methode Close() für das Objekt oder die Funktion CloseKey() aufrufen.

Alle Registrierungsfunktionen in diesem Modul geben eines dieser Objekte zurück.

Alle Registrierungsfunktionen in diesem Modul, die ein Handle-Objekt akzeptieren, akzeptieren auch eine Ganzzahl. Die Verwendung des Handle-Objekts wird jedoch bevorzugt.

Handle-Objekte bieten Semantik für __bool__() – somit

if handle:
    print("Yes")

wird Yes ausgegeben, wenn das Handle gültig ist (nicht geschlossen oder abgetrennt wurde).

Das Objekt unterstützt auch Vergleichssemantik, sodass Handle-Objekte als gleich gelten, wenn sie beide auf denselben zugrunde liegenden Windows-Handle-Wert verweisen.

Handle-Objekte können in eine Ganzzahl umgewandelt werden (z. B. mit der integrierten Funktion int()), wobei der zugrunde liegende Windows-Handle-Wert zurückgegeben wird. Sie können auch die Methode Detach() verwenden, um das Integer-Handle zurückzugeben und das Windows-Handle vom Handle-Objekt zu trennen.

PyHKEY.Close()

Schließt das zugrunde liegende Windows-Handle.

Wenn das Handle bereits geschlossen ist, wird kein Fehler ausgelöst.

PyHKEY.Detach()

Trennt das Windows-Handle vom Handle-Objekt.

Das Ergebnis ist eine Ganzzahl, die den Wert des Handles vor der Trennung enthält. Wenn das Handle bereits getrennt oder geschlossen ist, wird null zurückgegeben.

Nach dem Aufruf dieser Funktion ist das Handle effektiv ungültig, aber das Handle wird nicht geschlossen. Sie würden diese Funktion aufrufen, wenn Sie benötigen, dass das zugrunde liegende Win32-Handle über die Lebensdauer des Handle-Objekts hinaus existiert.

Löst ein Auditing-Ereignis winreg.PyHKEY.Detach mit dem Argument key aus.

PyHKEY.__enter__()
PyHKEY.__exit__(*exc_info)

Das HKEY-Objekt implementiert __enter__() und __exit__() und unterstützt somit das Kontextprotokoll für die with-Anweisung.

with OpenKey(HKEY_LOCAL_MACHINE, "foo") as key:
    ...  # work with key

schließt *key* automatisch, wenn die Kontrolle den with-Block verlässt.