Registry

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.
Antworten
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Warum gehtn dat nich:

Code: Alles auswählen

import easygui, os

StartPage = easygui.enterbox("Welche StartSeite möchten sie beim IE haben?", default = 'Geben sie hier Ihre gewünschte Startseite ein')

reg_file = r"""Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main]
"Start Page"="{Startseite}"
""".format(Startseite = StartPage)

print reg_file

with open("Fix.reg", "w") as registry:
    registry.write(reg_file)
    os.startfile(r"Fix.reg")
Ist mein erster Code nach ewig langer Pause. Die Fix.reg erstellt es korrekt. Mit startfile will ich sie audführen und es trägt den Wert nich in die Registry ein. Warum? Wenn ich fix.reg per Hand starte geht alles. ?!
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

den os.startfile is falsch engerückt. De Daten wern erst geschriebn wenn se geflusht werdn und dat wern se erst wenn de Datei och geschlossen ist.
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Code: Alles auswählen

import easygui, os

StartPage = easygui.enterbox("Welche StartSeite möchten sie beim IE haben?", default = 'Geben sie hier Ihre gewünschte Startseite ein')

reg_file = r"""Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main]
"Start Page"="{Startseite}"
""".format(Startseite = StartPage)

print reg_file

with open("Fix.reg", "w") as registry:
    registry.write(reg_file)

os.startfile(r"Fix.reg")
    
So geschieht der gleiche Fehler.
nooby
User
Beiträge: 91
Registriert: Montag 12. März 2012, 20:39
Wohnort: 127.0.0.1

Die Daten werden ohne 'flush()' nicht sofort in die Datei geschrieben. Versuchs mal so(ungetestet):

Code: Alles auswählen

import easygui, os

StartPage = easygui.enterbox("Welche StartSeite möchten sie beim IE haben?", default = 'Geben sie hier Ihre gewünschte Startseite ein')

reg_file = r"""Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main]
"Start Page"="{Startseite}"
""".format(Startseite = StartPage)

print reg_file

with open("Fix.reg", "w") as registry:
    registry.write(reg_file)
    registry.flush()

os.startfile(r"Fix.reg")
BlackJack

@nooby: Wenn die Datei geschlossen wird, dann werden die Daten auch in die Datei geschrieben. `flush()` braucht man nur wenn man *vor* dem Schliessen sicherstellen will, dass der Pufferspeicher geschrieben wird.
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Jop ich kann ja sehen, dass was reingeschrieben wurde. Die Fix.reg wurde ja erstellt aber iwie klappt das mitm ausführen nicht.
Gary123456
User
Beiträge: 318
Registriert: Dienstag 26. Februar 2013, 18:39

Hab den Fehler gefunden. Der RegSkript war falsch.

Code: Alles auswählen

import easygui, os

StartPage = easygui.enterbox("Welche StartSeite möchten sie beim IE haben?", default = 'Geben sie hier Ihre gewünschte Startseite ein')

reg_file = r"""Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Start Page"="{Startseite}"
""".format(Startseite = StartPage)

print reg_file

with open("Fix.reg", "w") as registry:
    registry.write(reg_file)

os.startfile(r"Fix.reg")
    


    




nooby
User
Beiträge: 91
Registriert: Montag 12. März 2012, 20:39
Wohnort: 127.0.0.1

@BlackJack: :oops: Ok, wieder was gelernt danke!
Antworten