Python - Auf regedit zugreifen und etwas verändern?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

Freitag 20. Juli 2012, 19:03

Hallo, da bin ich wieder :D

Wollte mal Fragen ob es möglich ist dass Python auf regedit zugreift und einen gegebenen Pfad abläuft um dann bei einem bestimmtem Key einen Wert zu verändern...geht das?


MfG

PS: hab schon gegoogelt!
-
EyDu
User
Beiträge: 4872
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Freitag 20. Juli 2012, 19:18

Pyanfänger hat geschrieben:PS: hab schon gegoogelt!
Prima! Da der erste Treffer bei der Suche nach "python registry" bereits das richtige Ergebnis liefert, hat sich das Problem ja schon von alleine gelöst.
Das Leben ist wie ein Tennisball.
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

Freitag 20. Juli 2012, 19:27

Oh tschuldigung :oops: hatte aber nach was anderem gegoogelt ;D
-
Benutzeravatar
/me
User
Beiträge: 3257
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Freitag 20. Juli 2012, 19:44

Pyanfänger hat geschrieben:Oh tschuldigung :oops: hatte aber nach was anderem gegoogelt ;D
Kein Wunder. Du wirfst nämlich Begriffe durcheinander. Zugreifen möchtest du auf die Windows-Registry, aber nicht auf regedit. regedit ist nur eins der Programme mit denen man Einträge in der Registry verändern kann.
EyDu
User
Beiträge: 4872
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Freitag 20. Juli 2012, 20:02

Zumindest bei mir macht es kaum ein unterschied ob ich, in Kombination mit "python", nach "registry" oder "regedit" suche. Suche ich jedoch noch "funny cats", bekomme ich, zu meiner eigenen Überraschung, keinen einzigen Treffer, welcher bei diesem Problem auch nur ein wenig helfen würde.
Das Leben ist wie ein Tennisball.
BlackJack

Freitag 20. Juli 2012, 21:31

@EyDu: Warte ein bisschen und versuch es dann noch einmal — dann findest Du vielleicht dieses Thema hier und damit einen Hinweis auf bessere Suchworte. ;-)
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

Freitag 20. Juli 2012, 21:45

ok, ich weiß .. noch eine von meinen dummen fragen :

Code: Alles auswählen

key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList\\")
setValue(key, REG_DWORD, 1)
CloseKey(hkey)
er findet den pfad ncht da ich ja auch nichts "genaues" angegeben hab, aber nach verschiedenen tutorien ha bich iwie gedacht dass es so geht óO

wenn ich es genauer mache und das dword danach angebe will er es ja auch nicht anehmen :(

Was kann ich tun D: ?
-
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Samstag 21. Juli 2012, 01:07

Wie wäre es wenn du dir die Fehlermeldungen genauer durchliest und in kompletter Form postest anstatt sie als "will nicht annehmen" zu betiteln?
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

Samstag 21. Juli 2012, 08:22

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\akempf\Desktop\test.py", line 3, in <module>
    key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList\\")
WindowsError: [Error 2] The system cannot find the file specified

Weil ich ja auch keine datei genau angeben hab aber wenn ich die "datei" also das dword wird ja im code nachher angegeben..
-
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Samstag 21. Juli 2012, 12:48

Existiert in deiner regestry den schon "SpecialAccounts", den Standard ist der Eintrag nicht. Du musst ihn erst erstellen.
EyDu
User
Beiträge: 4872
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Samstag 21. Juli 2012, 13:14

BlackJack hat geschrieben:@EyDu: Warte ein bisschen und versuch es dann noch einmal — dann findest Du vielleicht dieses Thema hier und damit einen Hinweis auf bessere Suchworte. ;-)
Na geht doch. Die Suche bei Google nach "python funny cats" verlinkt schon auf der vierten Seite auf diesen Thread. Wenn das Thema offensichtlich gerade so heiß ist, sollte ich vielleicht eine Umfrage zur Erstellung eines neuen Unterforums für lusitge Katzenbilder initiieren. Quasi als Gegenspieler zu der Rubrik "Äußerst schwierige Fragen".
Das Leben ist wie ein Tennisball.
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

Samstag 21. Juli 2012, 13:28

Nope, dieses Verzeichnis existiert bei mir schon. Ich will nicht dass das Programm irgendwelche Dateien ertellt sonder neinfach bei einem bestimmten Key die vlaue von 1 auf 0 setzt und umgkekehrt ;(
-
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Samstag 21. Juli 2012, 15:22

Okay dann vermute ich mal das am Ende noch der Username fehlt, den das ist der Eintrag den du ja eigentlich ändern willst.

Code: Alles auswählen

SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\SpecialAccounts\\UserList\\USERNAME
PS: in deinem code machst du einen anderne Key wieder zu (key != hkey)
Pyanfänger
User
Beiträge: 99
Registriert: Mittwoch 28. Dezember 2011, 12:50

Samstag 21. Juli 2012, 20:53

Nope, habs schon mit benutzername da probiert aber es wirft die gleiche meldung aus.
-
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Samstag 21. Juli 2012, 23:23

Also eigentlich ist es ganz einfach. Schau dir einfach mal mein Code an und denk darüber nach, die gleichen Keys gibt es auch in deiner registry. Mach parallel die regedit auf und schaus dir an.

Code: Alles auswählen

Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)]

In [1]: import _winreg

In [2]: python = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Python\\PythonCore")

In [3]: _winreg.EnumKey(python, 0)
Out[3]: '2.7'

In [4]: _winreg.EnumKey(python, 1)
Out[4]: '3.2'

In [5]: python_inst_path = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\\Python\\PythonCore\\2.7\\InstallPath")

In [6]: _winreg.EnumValue(python_inst_path, 0)
Out[6]: ('', u'C:\\Dev\\python27\\', 1)

In [7]: _winreg.EnumKey(python_inst_path, 0)
Out[7]: 'InstallGroup'
Und hier nochmal ein bisschen Code bei dem es knallt:

Code: Alles auswählen

In [5]: python = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\Python\PythonCore\2.7\InstallPath")
---------------------------------------------------------------------------
WindowsError                              Traceback (most recent call last)
<ipython-input-5-ab8f17a1ec18> in <module>()
----> 1 python = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, "SOFTWARE\Python\PythonCore\2.7\InstallPath")

WindowsError: [Error 2] Das System kann die angegebene Datei nicht finden
Antworten