PlayAVIPictureBox – Play an AVI file in a PictureBox

PlayAVIPictureBox – Play an AVI file in a PictureBox

Const WS_CHILD = &H40000000Private Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" _    (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _    ByVal uReturnLength As Long, ByVal hwndCallback As Long) As LongPrivate Declare Function mciGetErrorString Lib "winmm" Alias _    "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, _    ByVal uLength As Long) As LongPrivate Declare Function GetShortPathName Lib "kernel32" Alias _    "GetShortPathNameA" (ByVal lpszLongPath As String, _    ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long' Play an AVI file in a PictureBox synchronously.'' FileName is a string containing the full path of the file.' Window is the PictureBox in which you want that the movie' is played; the movie is automatically resized to the picture boxSub PlayAVIPictureBox(FileName As String, ByVal Window As PictureBox)    Dim RetVal As Long    Dim CommandString As String    Dim ShortFileName As String * 260    Dim deviceIsOpen As Boolean    ' Retrieve short file name format    RetVal = GetShortPathName(FileName, ShortFileName, Len(ShortFileName))    FileName = Left$(ShortFileName, RetVal)        ' Open the device    CommandString = "Open " & FileName & " type AVIVideo alias AVIFile parent " _        & CStr(Window.hWnd) & " style " & CStr(WS_CHILD)    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)     If RetVal Then GoTo Error    ' remember that the device is now open    deviceIsOpen = True           ' Resize the movie to PictureBox size    CommandString = "put AVIFile window at 0 0 " & CStr(Window.ScaleWidth / _        Screen.TwipsPerPixelX) & " " & CStr(Window.ScaleHeight / _        Screen.TwipsPerPixelY)    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)    If RetVal <> 0 Then GoTo error       ' Play the file    CommandString = "Play AVIFile wait"    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)    If RetVal <> 0 Then GoTo error        ' Close the device    CommandString = "Close AVIFile"    RetVal = mciSendString(CommandString, vbNullString, 0, 0&)    If RetVal <> 0 Then GoTo error    Exit Sub    error:    ' An error occurred.     ' Get the error description    Dim ErrorString As String    ErrorString = Space$(256)    mciGetErrorString RetVal, ErrorString, Len(ErrorString)    ErrorString = Left$(ErrorString, Instr(ErrorString, vbNullChar) - 1)    ' close the device if necessary    If deviceIsOpen Then        CommandString = "Close AVIFile"        mciSendString CommandString, vbNullString, 0, 0&    End if    ' raise a custom error, with the proper description    Err.Raise 999, , ErrorStringEnd Sub

Share the Post:
Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved

AI is revolutionizing fraud detection

How AI is Revolutionizing Fraud Detection

Artificial intelligence – commonly known as AI – means a form of technology with multiple uses. As a result, it has become extremely valuable to a number of businesses across

AI innovation

Companies Leading AI Innovation in 2023

Artificial intelligence (AI) has been transforming industries and revolutionizing business operations. AI’s potential to enhance efficiency and productivity has become crucial to many businesses. As we move into 2023, several

data fivetran pricing

Fivetran Pricing Explained

One of the biggest trends of the 21st century is the massive surge in analytics. Analytics is the process of utilizing data to drive future decision-making. With so much of

kubernetes logging

Kubernetes Logging: What You Need to Know

Kubernetes from Google is one of the most popular open-source and free container management solutions made to make managing and deploying applications easier. It has a solid architecture that makes