Hi guys,

i have this piece of code to retrieve Opera version, but doesn't seems to work. works well for IE

Public Function GetOperaVersion$()
Dim sOperaPath$, sOperaVer$, sOperaFriendlyVer$
On Error GoTo Error:
sOperaPath = RegGetString(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\App Paths\Opera.exe", "")
If sOperaPath = "" Then GoTo EndOfFun:
If FileExists(sOperaPath) = False Then GoTo EndOfFun:

Dim hData&, lDataLen&, uBuf() As Byte, uVFFI As VS_FIXEDFILEINFO
lDataLen = GetFileVersionInfoSize(sOperaPath, ByVal 0)
If lDataLen = 0 Then
GoTo EndOfFun:
End If

ReDim uBuf(0 To lDataLen - 1)
'get handle to file props
GetFileVersionInfo sOperaPath, 0, lDataLen, uBuf(0)
VerQueryValue uBuf(0), "\", hData, lDataLen
CopyMemory uVFFI, ByVal hData, Len(uVFFI)
With uVFFI
sOperaVer = Format(.dwFileVersionMSh, "00") & "." & _
Format(.dwFileVersionMSl, "00") & "." & _
Format(.dwProductVersionLSh, "0000")


End With
If sOperaVer = "00.00.0000" Then GoTo EndOfFun:

EndOfFun:
If lDataLen > 0 And Left(sOperaFriendlyVer, 1) <> "0" Then
GetOperaVersion = "Opera v" & sOperaFriendlyVer & " (" & sOperaVer & ")"
Else
GetOperaVersion = "Unable to get Opera version!"
End If
Exit Function

Error:
ErrorMsg Err.Number, Err.Description, "GetOperaVersion"
End Function
do you see anything wrong? if you have a better way to do just let me know or a better idea
thanks for the help