Wednesday, April 29, 2009

AVI File Info

'GET AVI File Info



Private Const OF_SHARE_DENY_WRITE
As Long
= &H20



Private Type AVIFILEINFO

    dwMaxBytesPerSec As Long

    dwFlags As Long

    dwCaps As Long

    dwStreams As Long

    dwSuggestedBufferSize As Long

    dwWidth As Long

    dwHeight As Long

    dwScale As Long

    dwRate As Long

    dwLength As Long

    dwEditCount As Long

    szFileType As String * 64

End Type



Private Declare Function AVIFileOpen
Lib
"avifil32" Alias _

"AVIFileOpenA" (ppfile As Long,
ByVal
szFile As String, _

ByVal mode As Long,
pclsidHandler As Any) As Long

Private Declare Function AVIFileRelease
Lib
"avifil32" _

(ByVal pfile As Long)
As Long


Private Declare Function AVIFileInfo
Lib
"avifil32" Alias _

"AVIFileInfoA" (ByVal pfile
As Long
, pfi As AVIFILEINFO, _

ByVal lSize As Long)
As Long


Private Declare Sub AVIFileInit
Lib
"avifil32" ()

Private Declare Sub AVIFileExit
Lib
"avifil32" ()



Private Sub Form_Load()

Dim hFile As Long,
AviInfo As AVIFILEINFO

'initialize the AVIFile library

AVIFileInit



'create a handle to the AVI file

 If AVIFileOpen(hFile, "C:\WINDOWS\clock.avi",
OF_SHARE_DENY_WRITE, ByVal 0&) = 0
Then

    'retrieve the AVI information

 If AVIFileInfo(hFile, AviInfo, Len(AviInfo))
= 0 Then

        MsgBox "AVI dimensions: " +
CStr(AviInfo.dwWidth) + "x" + _

CStr(AviInfo.dwHeight)

        Else

        MsgBox "Error while retrieving AVI
information... :("

        End If

    'release the file handle

    AVIFileRelease hFile

    Else

    MsgBox "Error while opening the AVI file... :("

    End If



'exit the AVIFile library and decrement the reference
count for the library

AVIFileExit

End Sub



 

No comments:

Post a Comment