アプリ版:「スタンプのみでお礼する」機能のリリースについて

ts動画ファイルをps動画ファイルに変換するvbsファイルをネット上から見つけることが出来ました。
これをコマンドラインから
TN:"C:\TSをPSに変換.vbs" -EIT -ECM -EMM -SD -1SEG "%1"
TN:cd:Z\
…と、1行目でファイルにこのvbsで適用して、その後いくつかの処理を行うようにしています。
しかし、実際には1行目が完全に終了したとみなされず
2行目以降に移ってくれません。
そこで、このvbsによって起動される"vlc.exe"を手動で終了して
初めて、2行目以降を実行してくれます。

ソースはこちらです↓

vlcpath = "C:\Program Files\VideoLAN\VLC\vlc.exe"

Set objArgs = WScript.Arguments
Set objSHell = WScript.CreateObject("WScript.Shell")

For i = 0 To objArgs.Count - 1
if ( Right(objArgs(i),3) = ".ts" ) Then
SrcFile = Chr(34) & objArgs(i) & Chr(34)
DstFile = Chr(34) & Left(objArgs(i),Len(objArgs(i))-3) & ".mpg" & Chr(34)
CmdLine = Chr(34) & vlcpath & Chr(34) & " " & SrcFile & " :sout=#transcode
{acodec=mpga,ab=384,channels=2}:duplicate{dst=std{access=file,mux=ps,dst=" & DstFile & "}}vlc:quit"
'Wscript.StdOut.WriteLine CmdLine
objSHell.Run CmdLine ,1 ,True

End If
Next

自分なりに
http://www.whitire.com/vbs/tips0107.html
こちらを参照して
CmdLine.Terminateや
Set objExecCmd = objSHell.Exec(CmdLine)
などで試してみたのですがダメでした…
ほんのちょっとしたアドバイスや参考URLで構いませんので
アドバイスをよろしくお願いします。

A 回答 (1件)

VLC.EXEのプロセスを強制終了したい?


Dim A, B, C
Set A = GetObject("winmgmts:\\.\root\cimv2")
Set B = A.ExecQuery("SELECT * FROM Win32_Process WHERE Name='vlc.exe'")
For Each C In B
    C.Terminate
Next
※処理中かどうかにかかわらず、vlc.exeは全滅する。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています