Seite 1 von 1

Wie findet man den bevorzugten Webbrowser?

Verfasst: 05.05.2019 08:38
von bin_neu_hier
Hallo!

Wie kann man herausfinden, welchen Webbrowser ein User als den "Haupt"-Browser hinterlegt hat und wie würde ich den dann per runprogramm mit einer bestimmten URL als Vorgabe starten?

Re: Wie findet man den bevorzugten Webbrowser?

Verfasst: 05.05.2019 08:44
von Nino
bin_neu_hier hat geschrieben:Wie kann man herausfinden, welchen Webbrowser ein User als den "Haupt"-Browser hinterlegt hat
Das hängt wohl vom verwendeten Betriebssystem ab.
bin_neu_hier hat geschrieben:und wie würde ich den dann per runprogramm mit einer bestimmten URL als Vorgabe starten?
Es reicht, wenn man einfach die URL aufruft. Diese wird dann automatisch in dem Standard-Browser geöffnet:

Code: Alles auswählen

RunProgram("https://www.google.de/")

Re: Wie findet man den bevorzugten Webbrowser?

Verfasst: 05.05.2019 11:17
von Shardik
Nino hat geschrieben:Es reicht, wenn man einfach die URL aufruft. Diese wird dann automatisch in dem Standard-Browser geöffnet:

Code: Alles auswählen

RunProgram("https://www.google.de)"
Das funktioniert so aber nur unter Windows! Damit es auch unter MacOS und Linux funktioniert, müsste es so angepasst werden:

Code: Alles auswählen

Procedure OpenWebsiteInDefaultBrowser(Website.S)
  CompilerSelect #PB_Compiler_OS
    CompilerCase #PB_OS_Linux
      RunProgram("xdg-open", Website, "")
    CompilerCase #PB_OS_MacOS
      RunProgram("Open", Website, "")
    CompilerCase #PB_OS_Windows
      RunProgram(Website)
  CompilerEndSelect
EndProcedure

OpenWebsiteInDefaultBrowser("https://www.google.de")

Re: Wie findet man den bevorzugten Webbrowser?

Verfasst: 05.05.2019 14:07
von bin_neu_hier
Super, vielen Dank Euch beiden!

Die Windowslösung per Runprogram tut's für mich. Bei meinen Versuchen mit Runprogram habe ich mich bei den Parametern vertan, dass der Aufruf so einfach sein kann, wäre mir gar nicht in den Sinn gekommen. Nochmals besten Dank!

Re: Wie findet man den bevorzugten Webbrowser?

Verfasst: 05.05.2019 14:55
von Nino
Shardik hat geschrieben:Das funktioniert so aber nur unter Windows!
Ja, natürlich. Daran hatte ich in dem Moment als ich das schrieb nicht gedacht. Danke!

Re: Wie findet man den bevorzugten Webbrowser?

Verfasst: 05.05.2019 15:22
von Mijikai
Optional über die Registry (nur Windows) :)

Code:

Code: Alles auswählen

Procedure.s GetDefaultBrowser()
  Protected key.i
  Protected size.i
  Protected browser.s
  If RegOpenKeyEx_(#HKEY_CURRENT_USER,"Software\Clients\StartMenuInternet",#Null,#KEY_READ,@key) = #ERROR_SUCCESS
    If RegQueryValueEx_(key,#Null,#Null,#Null,#Null,@size) = #ERROR_SUCCESS
      browser = Space(size)
      If RegQueryValueEx_(key,#Null,#Null,#Null,@browser,@size) = #ERROR_SUCCESS
        RegCloseKey_(key)
        ProcedureReturn browser
      EndIf
    EndIf
    RegCloseKey_(key)
  EndIf 
  ProcedureReturn #Null$
EndProcedure

Debug GetDefaultBrowser()