Forum: PC-Programmierung Win7: ich kann Registry nicht per Script ändern - Firefox aber schon?


von Rainer U. (r-u)


Lesenswert?

Ein Thema, mit dem ich sonst selten zu tun habe: Man kann ja in Windows 
seinen Lieblings-Browser als Standard einstellen, sowohl Firefox als 
auch IE haben einen Menüpunkt dafür.

Wenn man den Firefox per script einstellen will, muss man wohl einige 
Registry - Schlüssel ändern (ich mach das mit vbs), u.a. diesen:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Fil 
eExts\.htm\UserChoice\Progid

den kann aber der normale User nicht ändern (weder mit regedit noch mit 
vbs). Andererseits - wenn ich Firefox oder IE öffne und einstelle, dass 
sie jetzt Standard sein sollen, ändern die diese Werte in der Registry - 
wie das?

Bzw. wenn die Programme das dürfen, die unter meiner Anmeldung laufen - 
wie bekomme ich es per Script hin?

von Peter II (Gast)


Lesenswert?

Rainer Unsinn schrieb:
> den kann aber der normale User nicht ändern

warum nicht?

schau dir doch mal die Rechte an.

von Kai S. (kai1986)


Lesenswert?

Rainer Unsinn schrieb:
> Bzw. wenn die Programme das dürfen, die unter meiner Anmeldung laufen -
> wie bekomme ich es per Script hin?

Die Programme werden nicht den Registryeintrag ändern, sondern die 
Windowsschnittstelle für Standardprogramme nutzen. Die kannst du nämlich 
mit deinen normalen Benutzerrechten einstellen.

Gruß Kai

von Rainer U. (r-u)


Lesenswert?

Kai S. schrieb:
> sondern die
> Windowsschnittstelle für Standardprogramme nutzen.

das klingt gut - (wie?) kann ich die per Script auch benutzen?

von Rainer U. (r-u)


Lesenswert?

Peter II schrieb:
> warum nicht?
>
> schau dir doch mal die Rechte an.

Ich weiß es nicht genau, ist auch nicht relevant, weil ich daran 
möglichst nicht drehen will (Einstellung im Browser selbst geht ja)

Die effektiven Berechtigungen zeigen zwar Vollzugriff, aber es gibt da 
so eine Gruppe "EINGESCHRÄNGTER ZUGRIFF" die irgendwie über HKCU vererbt 
wird. Vielleicht sind es auch die Security Essentials.


Lieber würde ich dei gleich Methode verwenden, die auch der Browser 
selbst benutzt.. Hat jemand einen Link oder Suchtip?

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

entsprechend dieser Liste 
https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options
kennt Firefox die Kommandozeilenoption "-setDefaultBrowser". Vielleicht 
hilft Dir das schon. Ich muss zugeben, dass ich diese Option selbst nie 
getestet habe.

Mit freundlichen Grüßen
Guido

: Bearbeitet durch User
von bluppdidupp (Gast)


Lesenswert?

Die Browser werden sich vermutlich in OpenWithList/OpenWithProgIds 
eintragen und dann SHOpenWithDialog() aufrufen (danach sieht es 
zumindest bei Chrome stark aus)

von Rainer U. (r-u)


Lesenswert?

Guido C. schrieb:
> die Kommandozeilenoption "-setDefaultBrowser"

Hey, das werd ich probieren - wär genau das, was ich brauche! danke.

von Rainer U. (r-u)


Lesenswert?

Also -setDefaultBrowser funktioniert prinzipiell, aber er fragt den User 
nochmal per Dialog, ob er auch wirklich soll ..

bluppdidupp schrieb:
> OpenWithList/OpenWithProgIds
> eintragen und dann SHOpenWithDialog() aufrufen

das hab ich nicht verstanden..

von bluppdidupp (Gast)


Lesenswert?

Im Prinzip trägt sich die Anwendung in der Registry als Anwendung ein, 
die .html verarbeiten kann:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Fil 
eExts\.html\OpenWithList
bzw
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Fil 
eExts\.html\OpenWithProgids
(http://msdn.microsoft.com/en-us/library/bb166549.aspx)

und dann kann man via "SHOpenWithDialog" das normale "Standardprogramm 
wählen"-Dialogfenster von Windows für eine .html-Datei aufrufen und den 
Benutzer sein gewünschtes Programm auswählen lassen.
Unter win8 sieht das quasi so aus: 
http://robtiffany.com/wp-content/uploads/2012/10/3a.png - da für eine 
.zip Datei
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762234(v=vs.85).aspx

von bluppdidupp (Gast)


Lesenswert?

Rainer Unsinn schrieb:
> aber er fragt den User
> nochmal per Dialog, ob er auch wirklich soll ..

Probier mal "-silent", "-quiet", "-q" oder sowas dabei - Womöglich gibts 
eins davon ;D

von Guido C. (guidoanalog)


Lesenswert?

Hallo,

Rainer Unsinn schrieb:
> Also -setDefaultBrowser funktioniert prinzipiell, aber er fragt den User
> nochmal per Dialog, ob er auch wirklich soll ..

ich habe es soeben getestet. Auch bei mir kommt der Dialog. Vorher 
fordert Windows 7 jedoch noch zur Eingabe des Administratorpasswortes 
auf.

bluppdidupp schrieb:
> Probier mal "-silent", "-quiet", "-q" oder sowas dabei - Womöglich gibts
> eins davon ;D

Den Schalter "-silent" gibt es. Allerdings wird durch die Schalter 
"-silent -setDefaultBrowser" Firefox nicht der Standardbrowser. 
Vermutlich, da keiner den oben erwähnen Dialog bestätigt.

Mit freundlichen Grüßen
Guido

von Rainer U. (r-u)


Lesenswert?

bluppdidupp schrieb:
> und dann kann man via "SHOpenWithDialog" das normale "Standardprogramm
> wählen"-Dialogfenster von Windows für eine .html-Datei aufrufen und den
> Benutzer sein gewünschtes Programm auswählen lassen.

Mag sein, aber ich möchte ja das Programm/den Standard-Browser 
einstellen, ohne dass der Benutzer etwas machen muss bzw. eine Frage im 
Dialog gestellt bekommt, die ihn verwirrt.

Also

- ich schreibe ein dummy-Programm, das nur die Schlüssel ändert (was 
erstmal nicht geht),
- trage dieses dann ein als Programm, das html öffnen kann

- und dann kann dieses Programm (wenn ich es dann per Script laufen 
lasse) die Eintragungen vornehmen?

setDefaultBrowser mit -silent funktioniert bei mir leider auch nicht 
(wird nicht geändert)

von wendelsberg (Gast)


Lesenswert?

Rainer Unsinn schrieb:
> Mag sein, aber ich möchte ja das Programm/den Standard-Browser
> einstellen, ohne dass der Benutzer etwas machen muss bzw. eine Frage im
> Dialog gestellt bekommt, die ihn verwirrt.

Dann wird er eben dadurch verwirrt, dass anschliessend der Internet 
Explodierer nicht mehr geht. Auch gut.

wendelsberg

von Rainer U. (r-u)


Lesenswert?

wendelsberg schrieb:
> Dann wird er eben dadurch verwirrt, dass anschliessend der Internet
> Explodierer nicht mehr geht. Auch gut.

:-) Der kann ruhig weiter "explodieren", nur nicht mehr als Standard.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.