コード: 全て選択
Declare Function MCIWndCreate CDECL Lib "MSVFW32" Alias "MCIWndCreateA" (hwndParent As HWND, hInstance As HINSTANCE, dwStyle As DWord, szFile As BytePtr) As HWND
Declare Function MCIWndRegisterClass CDECL Lib "MSVFW32" () As Long
'Flags for the MCIWndOpen command
Const MCIWNDOPENF_NEW = &H0001 'open a new file
'window styles
Const MCIWNDF_NOAUTOSIZEWINDOW = &H0001 'when movie size changes
Const MCIWNDF_NOPLAYBAR = &H0002 'no toolbar
Const MCIWNDF_NOAUTOSIZEMOVIE = &H0004 'when window size changes
Const MCIWNDF_NOMENU = &H0008 'no popup menu from RBUTTONDOWN
Const MCIWNDF_SHOWNAME = &H0010 'show name in caption
Const MCIWNDF_SHOWPOS = &H0020 'show position in caption
Const MCIWNDF_SHOWMODE = &H0040 'show mode in caption
Const MCIWNDF_SHOWALL = &H0070 'show all
Const MCIWNDF_NOTIFYMODE = &H0100 'tell parent of mode change
Const MCIWNDF_NOTIFYPOS = &H0200 'tell parent of pos change
Const MCIWNDF_NOTIFYSIZE = &H0400 'tell parent of size change
Const MCIWNDF_NOTIFYERROR = &H1000 'tell parent of an error
Const MCIWNDF_NOTIFYALL = &H1F00 'tell all
Const MCIWNDF_NOTIFYANSI = &H0080
'The MEDIA notification includes a text string.
'To receive notifications in ANSI instead of unicode set the
'MCIWNDF_NOTIFYANSI style bit. The macro below includes this bit
'by default unless you define UNICODE in your application.
Const MCIWNDF_NOTIFYMEDIA = &H0880 'tell parent of media change
Const MCIWNDF_NOTIFYMEDIAW = &H0800 'tell parent of media change
Const MCIWNDF_RECORD = &H2000 'Give a record button
Const MCIWNDF_NOERRORDLG = &H4000 'Show Error Dlgs for MCI cmds?
Const MCIWNDF_NOOPEN = &H8000 'Don't allow user to open things
'can macros
Function MCIWndCanPlay(hwnd As HWND) As Long
MCIWndCanPlay = SendMessage(hwnd,MCIWNDM_CAN_PLAY,0,0)
End Function
Function MCIWndCanRecord(hwnd As HWND) As Long
MCIWndCanRecord = SendMessage(hwnd,MCIWNDM_CAN_RECORD,0,0)
End Function
Function MCIWndCanSave(hwnd As HWND) As Long
MCIWndCanSave = SendMessage(hwnd,MCIWNDM_CAN_SAVE,0,0)
End Function
Function MCIWndCanWindow(hwnd As HWND) As Long
MCIWndCanWindow = SendMessage(hwnd,MCIWNDM_CAN_WINDOW,0,0)
End Function
Function MCIWndCanEject(hwnd As HWND) As Long
MCIWndCanEject = SendMessage(hwnd,MCIWNDM_CAN_EJECT,0,0)
End Function
Function MCIWndCanConfig(hwnd As HWND) As Long
MCIWndCanConfig = SendMessage(hwnd,MCIWNDM_CAN_CONFIG,0,0)
End Function
Function MCIWndPaletteKick(hwnd As HWND) As Long
MCIWndPaletteKick = SendMessage(hwnd,MCIWNDM_PALETTEKICK,0,0)
End Function
Function MCIWndSave(hwnd As HWND, szFile As BytePtr) As Long
MCIWndSave = SendMessage(hwnd, MCI_SAVE, 0, szFile)
End Function
Function MCIWndSaveDialog(hwnd As HWND) As Long
MCIWndSaveDialog = MCIWndSave(hwnd, -1)
End Function
'if you dont give a device it will use the current device....
Function MCIWndNew(hwnd As HWND, lp As VoidPtr) As Long
MCIWndNew = SendMessage(hwnd, MCIWNDM_NEW, 0, lp)
End Function
Function MCIWndRecord(hwnd As HWND) As Long
MCIWndRecord = SendMessage(hwnd, MCI_RECORD, 0, 0)
End Function
Function MCIWndOpen(hwnd As HWND, sz As VoidPtr, f As DWord) As Long
MCIWndOpen = SendMessage(hwnd, MCIWNDM_OPEN, f,sz)
End Function
Function MCIWndOpenDialog(hwnd As HWND) As Long
MCIWndOpenDialog = MCIWndOpen(hwnd, -1, 0)
End Function
Function MCIWndClose(hwnd As HWND) As Long
MCIWndClose = SendMessage(hwnd, MCI_CLOSE, 0, 0)
End Function
Function MCIWndPlay(hwnd As HWND) As Long
MCIWndPlay = SendMessage(hwnd, MCI_PLAY, 0, 0)
End Function
Function MCIWndStop(hwnd As HWND) As Long
MCIWndStop = SendMessage(hwnd, MCI_STOP, 0, 0)
End Function
Function MCIWndPause(hwnd As HWND) As Long
MCIWndPause = SendMessage(hwnd, MCI_PAUSE, 0, 0)
End Function
Function MCIWndResume(hwnd As HWND) As Long
MCIWndResume = SendMessage(hwnd, MCI_RESUME, 0, 0)
End Function
Function MCIWndSeek(hwnd As HWND, lPos As Long) As Long
MCIWndSeek = SendMessage(hwnd, MCI_SEEK, 0, lPos)
End Function
Function MCIWndEject(hwnd As HWND) As Long
MCIWndEject = SendMessage(hwnd, MCIWNDM_EJECT, 0, 0)
End Function
Function MCIWndHome(hwnd As HWND) As Long
MCIWndHome = MCIWndSeek(hwnd, MCIWND_START)
End Function
Function MCIWndEnd(hwnd As HWND) As Long
MCIWndEnd = MCIWndSeek(hwnd, MCIWND_END)
End Function
Function MCIWndGetSource(hwnd As HWND, ByRef prc As RECT) As Long
MCIWndGetSource = SendMessage(hwnd, MCIWNDM_GET_SOURCE, 0, VarPtr(prc))
End Function
Function MCIWndPutSource(hwnd As HWND, ByRef prc As RECT) As Long
MCIWndPutSource = SendMessage(hwnd, MCIWNDM_PUT_SOURCE, 0, VarPtr(prc))
End Function
Function MCIWndGetDest(hwnd As HWND, ByRef prc As RECT) As Long
MCIWndGetDest = SendMessage(hwnd, MCIWNDM_GET_DEST, 0, VarPtr(prc))
End Function
Function MCIWndPutDest(hwnd As HWND, ByRef prc As RECT) As Long
MCIWndPutDest = SendMessage(hwnd, MCIWNDM_PUT_DEST, 0, VarPtr(prc))
End Function
Function MCIWndPlayReverse(hwnd As HWND) As Long
MCIWndPlayReverse = SendMessage(hwnd, MCIWNDM_PLAYREVERSE, 0, 0)
End Function
Function MCIWndPlayFrom(hwnd As HWND, lPos As Long) As Long
MCIWndPlayFrom = SendMessage(hwnd, MCIWNDM_PLAYFROM, 0, lPos)
End Function
Function MCIWndPlayTo(hwnd As HWND, lPos As Long) As Long
MCIWndPlayTo = SendMessage(hwnd, MCIWNDM_PLAYTO, 0, lPos)
End Function
Sub MCIWndPlayFromTo(hwnd As HWND, lStart As Long, lEnd As Long)
MCIWndSeek(hwnd, lStart)
MCIWndPlayTo(hwnd, lEnd)
End Sub
Function MCIWndGetDeviceID(hwnd As HWND) As DWord
MCIWndGetDeviceID = SendMessage(hwnd, MCIWNDM_GETDEVICEID, 0, 0)
End Function
Function MCIWndGetAlias(hwnd As HWND) As DWord
MCIWndGetAlias = SendMessage(hwnd, MCIWNDM_GETALIAS, 0, 0)
End Function
Function MCIWndGetMode(hwnd As HWND, lp As BytePtr, len As DWord) As Long
MCIWndGetMode = SendMessage(hwnd, MCIWNDM_GETMODE, len, lp)
End Function
Function MCIWndGetPosition(hwnd As HWND) As Long
= SendMessage(hwnd, MCIWNDM_GETPOSITION, 0, 0)
End Function
Function MCIWndGetPositionString(hwnd As HWND, lp As BytePtr, len As DWord) As Long
MCIWndGetPosition = SendMessage(hwnd, MCIWNDM_GETPOSITION, len, lp)
End Function
Function MCIWndGetStart(hwnd As HWND) As Long
MCIWndGetStart = SendMessage(hwnd, MCIWNDM_GETSTART, 0, 0)
End Function
Function MCIWndGetLength(hwnd As HWND) As Long
MCIWndGetLength = SendMessage(hwnd, MCIWNDM_GETLENGTH, 0, 0)
End Function
Function MCIWndGetEnd(hwnd As HWND) As Long
MCIWndGetEnd = SendMessage(hwnd, MCIWNDM_GETEND, 0, 0)
End Function
Function MCIWndStep(hwnd As HWND, n As Long) As Long
MCIWndStep = SendMessage(hwnd, MCI_STEP, 0,n)
End Function
Sub MCIWndDestroy(hwnd As HWND)
SendMessage(hwnd, WM_CLOSE, 0, 0)
End Sub
Sub MCIWndSetZoom(hwnd As HWND,iZoom)
SendMessage(hwnd, MCIWNDM_SETZOOM, 0, (UINT)(iZoom))
End Sub
Function MCIWndGetZoom(hwnd As HWND) As DWord
MCIWndGetZoom = SendMessage(hwnd, MCIWNDM_GETZOOM, 0, 0)
End Function
Function MCIWndSetVolume(hwnd As HWND,iVol As Long) As Long
MCIWndSetVolume = SendMessage(hwnd, MCIWNDM_SETVOLUME, 0, iVol)
End Function
Function MCIWndGetVolume(hwnd As HWND) As Long
MCIWndGetVolume = SendMessage(hwnd, MCIWNDM_GETVOLUME, 0, 0)
End Function
Function MCIWndSetSpeed(hwnd As HWND,iSpeed As Long) As Long
MCIWndSetSpeed = SendMessage(hwnd, MCIWNDM_SETSPEED, 0, iSpeed)
End Function
Function MCIWndGetSpeed(hwnd As HWND) As Long
MCIWndGetSpeed = SendMessage(hwnd, MCIWNDM_GETSPEED, 0, 0)
End Function
Function MCIWndSetTimeFormat(hwnd As HWND, lp As BytePtr) As Long
MCIWndSetTimeFormat = SendMessage(hwnd, MCIWNDM_SETTIMEFORMAT, 0, lp)
End Function
Function MCIWndGetTimeFormat(hwnd As HWND, lp As VoidPtr, len As DWord) As Long
MCIWndGetTimeFormat = SendMessage(hwnd, MCIWNDM_GETTIMEFORMAT, len, lp)
End Function
Sub MCIWndValidateMedia(hwnd As HWND)
SendMessage(hwnd, MCIWNDM_VALIDATEMEDIA, 0, 0)
End Sub
Sub MCIWndSetRepeat(hwnd As HWND, f As Long)
SendMessage(hwnd, MCIWNDM_SETREPEAT, 0, f)
End Sub
Function MCIWndGetRepeat(hwnd As HWND) As Long
MCIWndGetRepeat = SendMessage(hwnd, MCIWNDM_GETREPEAT, 0, 0)
End Function
Function MCIWndUseFrames(hwnd As HWND) As Long
MCIWndSetTimeFormat(hwnd, "frames")
End Function
Function MCIWndUseTime(hwnd As HWND) As Long
MCIWndSetTimeFormat(hwnd, "ms")
End Function
Sub MCIWndSetActiveTimer(hwnd As HWND, active As DWord)
SendMessage(hwnd, MCIWNDM_SETACTIVETIMER, active, 0)
End Sub
Sub MCIWndSetInactiveTimer(hwnd As HWND, inactive As DWord)
SendMessage(hwnd, MCIWNDM_SETINACTIVETIMER, inactive, 0)
End Sub
Sub MCIWndSetTimers(hwnd As HWND, active As DWord, inactive As DWord)
SendMessage(hwnd, MCIWNDM_SETTIMERS,active, inactive)
End Sub
Function MCIWndGetActiveTimer(hwnd As HWND) As DWord
MCIWndGetActiveTimer = SendMessage(hwnd, MCIWNDM_GETACTIVETIMER, 0, 0)
End Function
Function MCIWndGetInactiveTimer(hwnd As HWND) As DWord
MCIWndGetInactiveTimer = SendMessage(hwnd, MCIWNDM_GETINACTIVETIMER, 0, 0)
End Function
Function MCIWndRealize(hwnd As HWND, fBkgnd As Long) As Long
MCIWndRealize = SendMessage(hwnd, MCIWNDM_REALIZE,fBkgnd,0)
End Function
Function MCIWndSendString(hwnd As HWND, sz As BytePtr) As Long
MCIWndSendString = SendMessage(hwnd, MCIWNDM_SENDSTRING, 0, sz)
End Function
Function MCIWndReturnString(hwnd As HWND, lp As BytePtr, len As DWord) As Long
MCIWndReturnString = SendMessage(hwnd, MCIWNDM_RETURNSTRING, len, lp)
End Function
Function MCIWndGetError(hwnd As HWND, lp As BytePtr, len As DWord) As Long
MCIWndGetError = SendMessage(hwnd, MCIWNDM_GETERROR, len, lp)
End Function
Sub MCIWndActivate(hwnd As HWND, f As Long)
SendMessage(hwnd, WM_ACTIVATE, f, 0)
End Sub
Function MCIWndGetPalette(hwnd As HWND) As /*HPALETTE*/ DWord
MCIWndGetPalette = SendMessage(hwnd, MCIWNDM_GETPALETTE, 0, 0)
End Function
Function MCIWndSetPalette(hwnd As HWND, hpal As /*HPALETTE*/ DWord) As Long
MCIWndSetPalette = SendMessage(hwnd, MCIWNDM_SETPALETTE, hpal, 0)
End Function
Function MCIWndGetFileName(hwnd As HWND, lp As BytePtr, len As DWord) As Long
MCIWndGetFileName = SendMessage(hwnd, MCIWNDM_GETFILENAME, len, lp)
End Function
Function MCIWndGetDevice(hwnd As HWND, lp As VoidPtr, len As DWord) As Long
MCIWndGetDevice = SendMessage(hwnd, MCIWNDM_GETDEVICE, len, lp)
End Function
Function MCIWndGetStyles(hwnd As HWND) As DWord
MCIWndGetStyles = SendMessage(hwnd, MCIWNDM_GETSTYLES, 0, 0L)
End Function
Function MCIWndChangeStyles(hwnd As HWND, mask As DWord, value As Long) As Long
MCIWndChangeStyles = SendMessage(hwnd, MCIWNDM_CHANGESTYLES, mask, value)
End Function
Function MCIWndOpenInterface(hwnd As HWND, pUnk As VoidPtr) As Long
MCIWndOpenInterface = SendMessage(hwnd, MCIWNDM_OPENINTERFACE, 0, pUnk)
End Function
Function MCIWndSetOwner(hwnd As HWND, hwndP As HWND) As Long
MCIWndSetOwner = SendMessage(hwnd, MCIWNDM_SETOWNER, hwndP, 0)
End Function
'Messages an app will send to MCIWND
Const MCIWNDM_GETDEVICEID = (WM_USER + 100)
Const MCIWNDM_GETSTART = (WM_USER + 103)
Const MCIWNDM_GETLENGTH = (WM_USER + 104)
Const MCIWNDM_GETEND = (WM_USER + 105)
Const MCIWNDM_EJECT = (WM_USER + 107)
Const MCIWNDM_SETZOOM = (WM_USER + 108)
Const MCIWNDM_GETZOOM = (WM_USER + 109)
Const MCIWNDM_SETVOLUME = (WM_USER + 110)
Const MCIWNDM_GETVOLUME = (WM_USER + 111)
Const MCIWNDM_SETSPEED = (WM_USER + 112)
Const MCIWNDM_GETSPEED = (WM_USER + 113)
Const MCIWNDM_SETREPEAT = (WM_USER + 114)
Const MCIWNDM_GETREPEAT = (WM_USER + 115)
Const MCIWNDM_REALIZE = (WM_USER + 118)
Const MCIWNDM_VALIDATEMEDIA = (WM_USER + 121)
Const MCIWNDM_PLAYFROM = (WM_USER + 122)
Const MCIWNDM_PLAYTO = (WM_USER + 123)
Const MCIWNDM_GETPALETTE = (WM_USER + 126)
Const MCIWNDM_SETPALETTE = (WM_USER + 127)
Const MCIWNDM_SETTIMERS = (WM_USER + 129)
Const MCIWNDM_SETACTIVETIMER = (WM_USER + 130)
Const MCIWNDM_SETINACTIVETIMER = (WM_USER + 131)
Const MCIWNDM_GETACTIVETIMER = (WM_USER + 132)
Const MCIWNDM_GETINACTIVETIMER = (WM_USER + 133)
Const MCIWNDM_CHANGESTYLES = (WM_USER + 135)
Const MCIWNDM_GETSTYLES = (WM_USER + 136)
Const MCIWNDM_GETALIAS = (WM_USER + 137)
Const MCIWNDM_PLAYREVERSE = (WM_USER + 139)
Const MCIWNDM_GET_SOURCE = (WM_USER + 140)
Const MCIWNDM_PUT_SOURCE = (WM_USER + 141)
Const MCIWNDM_GET_DEST = (WM_USER + 142)
Const MCIWNDM_PUT_DEST = (WM_USER + 143)
Const MCIWNDM_CAN_PLAY = (WM_USER + 144)
Const MCIWNDM_CAN_WINDOW = (WM_USER + 145)
Const MCIWNDM_CAN_RECORD = (WM_USER + 146)
Const MCIWNDM_CAN_SAVE = (WM_USER + 147)
Const MCIWNDM_CAN_EJECT = (WM_USER + 148)
Const MCIWNDM_CAN_CONFIG = (WM_USER + 149)
Const MCIWNDM_PALETTEKICK = (WM_USER + 150)
Const MCIWNDM_OPENINTERFACE = (WM_USER + 151)
Const MCIWNDM_SETOWNER = (WM_USER + 152)
Const MCIWNDM_SENDSTRING = (WM_USER + 101)
Const MCIWNDM_GETPOSITION = (WM_USER + 102)
Const MCIWNDM_GETMODE = (WM_USER + 106)
Const MCIWNDM_SETTIMEFORMAT = (WM_USER + 119)
Const MCIWNDM_GETTIMEFORMAT = (WM_USER + 120)
Const MCIWNDM_GETFILENAME = (WM_USER + 124)
Const MCIWNDM_GETDEVICE = (WM_USER + 125)
Const MCIWNDM_GETERROR = (WM_USER + 128)
Const MCIWNDM_NEW = (WM_USER + 134)
Const MCIWNDM_RETURNSTRING = (WM_USER + 138)
Const MCIWNDM_OPEN = (WM_USER + 153)
Const MCIWNDM_SENDSTRINGW = (WM_USER + 201)
Const MCIWNDM_GETPOSITIONW = (WM_USER + 202)
Const MCIWNDM_GETMODEW = (WM_USER + 206)
Const MCIWNDM_SETTIMEFORMATW = (WM_USER + 219)
Const MCIWNDM_GETTIMEFORMATW = (WM_USER + 220)
Const MCIWNDM_GETFILENAMEW = (WM_USER + 224)
Const MCIWNDM_GETDEVICEW = (WM_USER + 225)
Const MCIWNDM_GETERRORW = (WM_USER + 228)
Const MCIWNDM_NEWW = (WM_USER + 234)
Const MCIWNDM_RETURNSTRINGW = (WM_USER + 238)
Const MCIWNDM_OPENW = (WM_USER + 252)
'Messages MCIWND will send to an app
Const MCIWNDM_NOTIFYMODE = (WM_USER + 200) 'wp = hwnd, lp = mode
Const MCIWNDM_NOTIFYPOS = (WM_USER + 201) 'wp = hwnd, lp = pos
Const MCIWNDM_NOTIFYSIZE = (WM_USER + 202) 'wp = hwnd
Const MCIWNDM_NOTIFYMEDIA = (WM_USER + 203) 'wp = hwnd, lp = fn
Const MCIWNDM_NOTIFYERROR = (WM_USER + 205) 'wp = hwnd, lp = error
'special seek values for START and END
Const MCIWND_START = -1
Const MCIWND_END = -2
/*
'win32 apps send MCIWNDM_OPEN
Const MCI_OPEN = &H0803
Const MCI_CLOSE = &H0804
Const MCI_PLAY = &H0806
Const MCI_SEEK = &H0807
Const MCI_STOP = &H0808
Const MCI_PAUSE = &H0809
Const MCI_STEP = &H080E
Const MCI_RECORD = &H080F
Const MCI_SAVE = &H0813
Const MCI_CUT = &H0851
Const MCI_COPY = &H0852
Const MCI_PASTE = &H0853
Const MCI_RESUME = &H0855
Const MCI_DELETE = &H0856
*/
/*
'return values for 'status mode' command
Const MCI_MODE_NOT_READY = (524)
Const MCI_MODE_STOP = (525)
Const MCI_MODE_PLAY = (526)
Const MCI_MODE_RECORD = (527)
Const MCI_MODE_SEEK = (528)
Const MCI_MODE_PAUSE = (529)
Const MCI_MODE_OPEN = (530)
*/