2015-03-26 2 views
0

Здравствуйте, я пытаюсь получить песню, чтобы играть на фоне окна, после немного глядя я нашел это:Stop Music После Воспроизведение в фоновом режиме PC

@echo off 
set file=RRLJ.mp3 
( echo Set Sound = CreateObject("WMPlayer.OCX.7"^) 
    echo Sound.URL = "%file%" 
    echo Sound.Controls.play 
    echo do while Sound.currentmedia.duration = 0 
    echo wscript.sleep 100 
    echo loop 
    echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000) >sound.vbs 
start /min sound.vbs 

Это хорошо работает для начала песню, но я не имеют возможности остановить его из файла .bat. Единственный способ, которым я нашел сокращение, - открыть диспетчер задач и закрыть его из процессов. Может кто-нибудь, пожалуйста, скажите мне, как закрыть его, или если есть лучший способ сделать это?

Я пробовал:

taskkill /im wscript.exe 

Но я получаю что-то в окне говоря: УСПЕХ: Прислал прекращение sidnal к процессу «wscript.exe» с PID 185448 , но музыка продолжает играть до Я вручную завершаю его с помощью диспетчера задач

ответ

1

Я бы использовал переключатель /T (уничтожение дерева): завершает указанный процесс и все дочерние процессы, которые были запущены им.

Вот скрипт, чтобы найти ProcessID прекратить именно необходимый процесс только с помощью PID:

@ECHO OFF >NUL 
for /F "usebackq tokens=*" %%G in (
     `wmic process where "CommandLine like '%%sound.vbs%%' AND Caption like '%%script.exe%%'" get ProcessID/value ^|find /I "="` 
    ) do (
     rem echo %%G 
     for /F "tokens=2 delims==" %%H in ("%%~G") do echo taskkill /T /F /PID %%H 
    ) 

Примечания taskkill команды вторят просто ... Удалить echo когда отлаживается.

+0

О, черт возьми, спасибо! Работала отлично. Спасибо! – DragonHeart000

+0

Я добавлю вас к кредитам того, что я делаю для того, чтобы быть первым, кто помог, и за это отлично работает! Настолько рад, что это работает прямо сейчас, я пытался какое-то время. : D – DragonHeart000

Смежные вопросы