Seite 1 von 1

Registry

Verfasst: Sonntag 9. Juni 2013, 10:48
von Gary123456
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. ?!

Re: Registry

Verfasst: Sonntag 9. Juni 2013, 11:03
von Sirius3
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.

Re: Registry

Verfasst: Sonntag 9. Juni 2013, 11:12
von Gary123456

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.

Re: Registry

Verfasst: Sonntag 9. Juni 2013, 13:49
von nooby
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")

Re: Registry

Verfasst: Sonntag 9. Juni 2013, 13:56
von 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.

Re: Registry

Verfasst: Sonntag 9. Juni 2013, 14:02
von Gary123456
Jop ich kann ja sehen, dass was reingeschrieben wurde. Die Fix.reg wurde ja erstellt aber iwie klappt das mitm ausführen nicht.

Re: Registry

Verfasst: Sonntag 9. Juni 2013, 14:39
von Gary123456
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")
    


    





Re: Registry

Verfasst: Sonntag 9. Juni 2013, 16:12
von nooby
@BlackJack: :oops: Ok, wieder was gelernt danke!