Alarme sonores invisible

Résolu
jekkdev Messages postés 8 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 21 juin 2007 - 26 juin 2006 à 14:42
jekkdev Messages postés 8 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 21 juin 2007 - 29 juin 2006 à 11:50
Bonjour,
Je dois créer une script qui se lance après une évenement déclencheur et fait sonner une alarme sonore (en gros lancer un .wav). Cependant il faut que cela se fasse de manière totalement transparente.
Je n'ai jammais dévlopper en vbs alors pour l'instant j'ai un bete fichier.cmd qui contient : C:\Son\AlarmeSonore.wav
Le problème c'est qu'une fenetre dos s'ouvre et que le son est jouer avec le player par défaut.
La seule piste que j'ai c'est un bout de code vbs  qui lancerait  un script bat/cmd en mode slencieux.
    Set wsc = CreateObject("WScript.Shell")
    wsc.Run "C:\alarme\alarme sonore.cmd", vb hide

Avez vous des idées? des conseils? savez vous comment jouer un son sans player? ou avec un player invisible?
Je me rends compte que j'aurais peut etre du poster dans une partie scipt shell mais comme a priori il y aura du vbs et du bat/cmd (que je maitrise mieux) j'ai poster ici par défaut.

5 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
28 juin 2006 à 17:04
Vala un vbs.


C'est chiant le vbs: pas de typage, pas d'API facilement...
strWavFile = "C:\Son\AlarmeSonore.wav"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "Sndrec32 /play /close """ & strWavFile & """", 0, False


Désolé, peut pas tester, j'ai pas de haut parleur ici...


Première ligne, tu récupère le nom du fichier.

Deuxième, tu appelles un objet à tout faire.

Troisième, tu appel la méthode run de l'objet à tout faire.


Elle prend trois arguments, le premier la ligne de commande, le
deuxième un flag pour la façon dont est affiché la fenêtre (0 =
SW_HIDE, c'est celui qui t'intéresse), le troisième un booléen qui dit
"Attendre la fin du prog pour lancer la commande vbs suivante ?"
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
27 juin 2006 à 22:03
Bonjour,


Les sources pour jouer des wave semble pululer sur vbfrance -> Un petit rechercher t'aurais pas mal aider...


J'éspère que celui est compatible VBS...


C'est un simple appel d'API, tu as le choix des flags.


Pour le côté silencieux, ill faudrait que tu précise l'"évenement déclencheur" et sous quel langage il a lieu.

Public
Declare
Function
sndPlaySound Lib <var>"winmm.dll"</var> Alias <var>"sndPlaySoundA"</var> (ByVal lpszSoundName As
String
, ByVal uFlags As Long) As Long


Private Const SND_ASYNC = &H1         '  play asynchronously

Private Const SND_LOOP = &H8         '  loop the sound until next sndPlaySound

Private Const SND_MEMORY = &H4         '  lpszSoundName points to a memory file

Private Const SND_NODEFAULT =
&H2         '  silence
not default, if sound not found

Private Const SND_NOSTOP = &H10        '  don't stop any currently playing sound

Private Const SND_SYNC = &H0         '  play synchronously (default)


 
sndPlaySound "C:\Son\AlarmeSonore.wav", SND_ASYNC
                
0
jekkdev Messages postés 8 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 21 juin 2007
28 juin 2006 à 12:04
Je te remerci pour la réponse^^
Mon problème n'est pas tant de jouer un wav mais de le faire de manière invisible a la manière dont Windows joue ses sons (erreur critiques, musique de démarage etc...) sans player apparent.
L'élément déclencheur c'est une alerte généré par le logiciel de supervision de serveur : Microsoft Opération Manager. Quand il detecte un problème on a le choix d'effectuer des actions par exemple enoyer un mail d'alerte ou executer un script. Au final je souhaite que l'orsqu'un serveur à un problème j'envois un mail et déclenche un scipt qui émet un "bip d'alarme" aux postes concernés.
En réponse au alertes je peut soit exécuter une commande dos qui appel un batch soit appelé un script vbs. Voila j'espere que j'ai été assez clair sinon n'hésite pas a me demander des précision.
merci d'avance
0
jekkdev Messages postés 8 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 21 juin 2007
29 juin 2006 à 11:49
Et bien je confirme ca marche au poil !!!
je te remercie pour ton aide et l'explication qui va avec.
Je sais que d'habitude il y a des system de résolution de problème via un bouton genre "problème résolu" mais la je vois rien donc je suppose que c'est les admin/modo qui s'en charge mais si il y a autre chose a faire dis le moi.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jekkdev Messages postés 8 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 21 juin 2007
29 juin 2006 à 11:50
J'ai trouvé c'est bon.^^
0
Rejoignez-nous