動画を見るときは Media Player Classic(MPC) を使ってる。でも MPC は ISOは直接再生できないので、ISO を見るときだけは仕方なく VLC を使っていたのだった。
でも VLC ってちょっと使いにくい。なので、MPC で iso を再生する wsh スクリプトを書いてみた。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
' play dvd iso
'
' 1. mount iso (using WinCDEmu)
' 2. launch mpc and play
' 3. unmount iso
'
MOUNTER="""C:\Program Files (x86)\WinCDEmu\batchmnt64.exe"""
DVD_DRV="v:"
PLAYER="C:\Users\g\Dropbox\apps\MPC-HomeCinema.1.5.2.3456.x64\mpc-hc64.exe"
'-----------------
' functions
'-----------------
Function is_mounted_any_iso_already(drv)
ret = False
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(drv & "\\") Then ret = True
is_mounted_any_iso_already = ret
End Function
Sub mount(sh, iso)
sh.Run MOUNTER & " " & iso & " " & DVD_DRV,0, True
End Sub
Sub umount(sh)
sh.Run MOUNTER & " /unmount " & DVD_DRV,0,True
End Sub
Sub wait_for_activation(sh, app)
Do Until sh.AppActivate(app.ProcessID)
WScript.Sleep 500
Loop
End Sub
Sub wait_for_termination
Do
set proc=getobject("winmgmts:root\cimv2").execquery("select * from win32_process where name='wfica32.exe'")
wscript.sleep 500
Loop While proc.count = 1
End Sub
'-----------------
' main procedure
'-----------------
If WScript.Arguments.Count <> 1 Then WScript.Quit
If is_mounted_any_iso_already(DVD_DRV) Then WScript.Quit
Set ws = WScript.CreateObject("WScript.Shell")
mount ws, WScript.Arguments(0)
ws.Run PLAYER & " " & DVD_DRV & " /dvd /play",,True
wait_for_termination
umount ws
やってることは単純で WinCDEmu で DVD の ISO をマウントして MPC で再生するだけ。MPCを閉じたらアンマウント。
これを使って、ISO ファイルをダブルクリックして再生するための手順を書いておく。
なお、.vbs をファイルの関連付けすることはできないと思うので、MakeExe で .vbs → .exe に変換したものを .iso に関連付けするようにした。
mpc をダウンロードしてインストール WinCDEmu をダウンロードしてインストール MakeExe をダウンロードして展開 上述の dvd_iso_play.vbs をどこかに保存 dvd_iso_play.vbs の MOUNTER と PLAYER を書き換える MakeExe を展開したディレクトリに makewin.exe があるので、そこに dvd_iso_play.vbs をドラッグアンドドロップ dvd_iso_play.vbs と同じ場所に exe ができるので、これを iso ファイルに関連付ける Windows 7では スタート / 規定のプログラム / ファイルの種類またはプロトコルのプログラムへの関連付け これで、.iso をダブルクリックすると mpc で再生できるはず。
にしても MakeExe 素晴らしい。作者に感謝。