戻る

AVI ファイルの再生ウインドウを任意の位置に表示させる方法(マルチメディアMCIコントロールの使用例)
動作環境 Windows95/98 開発環境 Visual Basic 6.0 (+SP3)
説明 AVI ファイルの再生ウインドウを任意の位置に表示させる方法です。
用意するもの:標準フォーム(Form1)、マルチメディアMCIコントロール(MMControl1)
 以下のサンプルでは、AVI ファイルの再生ウインドウを任意の位置に表示させます。

'変数の明示的な宣言を強制します。
Option Explicit
'API関数 FindWindow の利用を宣言します。
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
'API関数 SetWindowPos の利用を宣言します。
Private Declare Function SetWindowPos Lib "user32" _
(ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal wFlags As Long) As Long
'API関数 SetWindowPos で操作対象とするウインドウのZオーダー位置を指定する定数。
Private Const HWND_TOP = 0
'API関数 SetWindowPos で操作対象とするウインドウの位置を指定する定数。
Private Const SWP_NOSIZE = &H1

Private Sub Form_Load()

'API関数 FindWindow の戻り値
Dim AVIhWnd As Long
'API関数 SetWindowPos の戻り値
Dim ret As Long

MMControl1.DeviceType = "AVIVideo"
MMControl1.FileName = "ここにAVIファイルのフルパスを指定してください"
MMControl1.Command = "Open"

'AVIファイルが再生されるウインドウのハンドルを取得します。
AVIhWnd = FindWindow("AVIWnd", vbNullString)
'AVIファイルが再生されるウインドウの位置を指定します。
'以下のサンプルの場合 X座標 = 300, Y座標 = 200 に表示されます。
ret = SetWindowPos(AVIhWnd, HWND_TOP, 300, 200, 0, 0, SWP_NOSIZE)

End Sub

Private Sub Form_Unload(Cancel As Integer)

MMControl1.Command = "Close"

End Sub