• 締切済み

vbsで起動したexeを終了させる方法

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で構いませんので アドバイスをよろしくお願いします。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.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は全滅する。