Ok, it is not an easy function to use I just found out

Anyway, I got it fixed, here is the code to get the
path to the default browser and the version of it, so it wont return the actual name. I don't really know how to do this, you might do it by reading the file description, but I don't know if all browsers have stored it somewhere in the file or in the description or wherever it might be. Perhaps even the default browser is listed in the registry? Anyway, working code is below:
[tt]Option Explicit
Private Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" (ByVal lpFile As String, ByVal lpDirectory As String, ByVal lpResult As String) As Long
Private Declare Function GetFileVersionInfo Lib "Version.dll" Alias "GetFileVersionInfoA" (ByVal lptstrFilename As String, ByVal dwhandle As Long, ByVal dwlen As Long, lpData As Any) As Long
Private Declare Function GetFileVersionInfoSize Lib "Version.dll" Alias "GetFileVersionInfoSizeA" (ByVal lptstrFilename As String, lpdwHandle As Long) As Long
Private Declare Function VerQueryValue Lib "Version.dll" Alias "VerQueryValueA" (pBlock As Any, ByVal lpSubBlock As String, lplpBuffer As Any, puLen As Long) As Long
Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, ByVal Source As Long, ByVal length As Long)
Private Type VS_FIXEDFILEINFO
dwSignature As Long
dwStrucVersion As Long
dwFileVersionMS As Long
dwFileVersionLS As Long
dwProductVersionMS As Long
dwProductVersionLS As Long
dwFileFlagsMask As Long
dwFileFlags As Long
dwFileOS As Long
dwFileType As Long
dwFileSubtype As Long
dwFileDateMS As Long
dwFileDateLS As Long
End Type
Private Sub Form_Load()
Dim sPath As String
Dim sVersion As String
Call GetBrowserInformation(sPath, sVersion)
MsgBox "The default browser on this computer is " & sPath & " " & sVersion
End Sub
Private Sub GetBrowserInformation(ByRef sBrowserPath As String, ByRef sBrowserVersion As String)
Const sPath As String = "temp.html"
Dim sBuffer As String
Dim bBuffer() As Byte
Dim lPointer As Long
Dim lLength As Long
Dim lReturn As Long
Dim vffi As VS_FIXEDFILEINFO
Open sPath For Output As #1
Close #1
sBuffer = Space$(256)
If FindExecutable(sPath, vbNullString, sBuffer) < 33 Then
'error
Else
sBuffer = Left$(sBuffer, InStr(sBuffer, Chr$(0)) - 1)
sBrowserPath = sBuffer
lReturn = GetFileVersionInfoSize(sBuffer, 0&)
If lReturn < 1 Then
'error
Else
ReDim bBuffer(lReturn - 1)
Call GetFileVersionInfo(sBuffer, 0&, lReturn, bBuffer(0))
Call VerQueryValue(bBuffer(0), "\", lPointer, lLength)
Call MoveMemory(vffi, ByVal lPointer, lLength)
sBrowserVersion = Trim(CStr(HIWORD(vffi.dwFileVersionMS))) & "." & Trim(CStr(LOWORD(vffi.dwFileVersionMS))) & "." & Trim(CStr(HIWORD(vffi.dwFileVersionLS))) & "." & Trim(CStr(LOWORD(vffi.dwFileVersionLS)))
End If
End If
Kill sPath
End Sub
Private Function HIWORD(ByVal dwValue As Long) As Long
Dim hexstr As String
hexstr = Right("00000000" & Hex(dwValue), 8)
HIWORD = CLng("&H" & Left(hexstr, 4))
End Function
Private Function LOWORD(ByVal dwValue As Long) As Long
Dim hexstr As String
hexstr = Right("00000000" & Hex(dwValue), 8)
LOWORD = CLng("&H" & Right(hexstr, 4))
End Function[/tt]
LuCkY