Je fais donc un jeu en programmation par lots et j'ai décidé d'ajouter de la musique à thème à l'écran du menu titre. La façon dont j'ai ajouté la musique était en utilisant WScript
et un VBScript pour lire un fichier mp3. Le seul problème est que, une fois démarré, il joue en arrière-plan et non via le fichier séquentiel, par conséquent, une fois que vous démarrez le jeu, la musique du thème continue à jouer. J'ai utilisé ce script pour de petits sons simples qui se terminent rapidement, donc ça n'a jamais été un problème auparavant.Comment arrêter un programme VBScript démarré dans un programme de traitement par lots?
Donc ma question est, est-il possible d'arrêter le script à partir du fichier de traitement par lots au lieu d'avoir à faire le vieux Ctrl +Alt +méthode Del?
Voici mon script texte:
set music=ThemeMusic.mp3
(echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
echo Sound.URL = "%music%"
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 /max sound.vbs
et est ici le code pour le VBScript séparé qui est ouvert par le fichier batch:
Set Sound = CreateObject("WMPlayer.OCX.7")
Sound.URL = "ThemeMusic.mp3"
Sound.Controls.play
Do While Sound.currentmedia.duration = 0
WScript.Sleep 100
Loop
WScript.Sleep (Int(Sound.currentmedia.duration)+1)*1000
Nous pouvons déjà voir votre code créant le Vbscript. Pas besoin de le poster à nouveau. Si vous voulez tuer un programme, utilisez TASKKILL. – Squashman