Programmpfad des Default-Browsers ermitteln

    • Offizieller Beitrag

    Hi,
    grundsätzlich braucht man den Pfad ja nicht, da Shellexecute sich diesen selbst sucht. Spätestens aber, wenn ich an die Funktion Parameter übergeben möchte, ist der Pfad erforderlich.
    Ich habe jetzt mal die Abfrage dafür erstellt. Es wird der allgemeingültige Standard-Browser abgefragt. Ist jedoch ein Eintrag unter dem angemeldeten User, so wird dieser vorrangig zurückgegeben.

    Edit: Habe die Stringzerlegung umgestellt, gab auf anderen Systemen da Probleme.

    _GetDefaultBrowser
    [autoit]

    #Region - TimeStamp
    ; 2011-10-15 21:51:11 v 0.2
    #EndRegion - TimeStamp

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ; Function Name....: _GetDefaultBrowser
    ; Description......: Ermittelt den Programmpfad des Default-Browsers
    ; Es wird der vom User festgelegte Default-Browser abgefragt, ersatzweise der allgemeingültige
    ; Parameter(s).....: keine
    ; Requirement(s)...: keine
    ; Return Value(s)..: Kompletter Programmpfad des Default-Browsers
    ; Author(s)........: BugFix ( [email='bugfix@autoit.de'][/email] )
    ;===============================================================================
    Func _GetDefaultBrowser()
    Local $sPath = RegRead("HKEY_CLASSES_ROOT\http\shell\open\command", '')
    Local $progID = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice", "Progid")
    If $progID <> '' Then ; == User-Default-Browser gesetzt
    $sPath = RegRead("HKEY_CLASSES_ROOT\" & $progID & "\shell\open\command", "")
    EndIf
    $sPath = StringTrimLeft($sPath, 1)
    Local $Pos = StringInStr($sPath, '"')
    Return StringLeft($sPath, $Pos-1)
    EndFunc ; ==>_GetDefaultBrowser

    [/autoit]