whitef2
Goto Top

sound ausgeben - wait - schliessen (CMDBatch - VBS)

hi, ich möchte gerne für meinen FTP-Server die Events nutzen, d.h. ne externe datei soll aufgerufen werden.

Ich hab ne wav-datei, die dann abgespielt werden soll.
Wait.exe habe ich miteingebunden, für einen waitbefehl.

so sieht meine bat-datei aus:
Start C:\Programme\VideoLAN\VLC\vlc.exe "C:\Program Files\- x -\FTP-Events\Online\Online.wav"  
WAIT 3 KEY
taskkill /f /im vlc.exe

problem is nur dass die dosbox mitaufgeht und der vlc player.
deshalb hab ich weiter geforscht und mich mal mit vbs probiert:

Set WshShell = WScript.CreateObject("WScript.Shell")  
WshShell.Run """Online\Online.bat""", 0, True  
Set WshShell = Nothing
Set WshShell = WScript.CreateObject("WScript.Shell")  
WshShell.Run """Online\Close.bat""", 0, True  
Set WshShell = Nothing

Online.bat:
Start C:\Programme\VideoLAN\VLC\vlc.exe "C:\Program Files\- x -\FTP-Events\Online\Online.wav"  

Close.bat:
WAIT 3 KEY
taskkill /f /im vlc.exe

Problem dabei is jetzt nur, das man den vlc player sieht bzw. den Focus hat.

Weiss jemand Rat?
Am liebsten wäre mir auch nur eine VBS datei ohne zugriffe auf Bat dateien...

zuviel verschachtelungen sind ja nicht immer so übersichtlich.

mfg

Content-Key: 97440

Url: https://administrator.de/contentid/97440

Printed on: April 25, 2024 at 07:04 o'clock

Member: bastla
bastla Sep 21, 2008 at 14:00:48 (UTC)
Goto Top
Hallo whiteF2 und willkommen im Forum!

Wenn's tatsächlich nur .wav-Files sein sollen, sieh Dir einmal diesen "Scripting Guy"-Artikel an ...

Ansonsten könntest Du zumindest mit dem Parameter 7 anstelle von 0 beim "Run" in einem VBScript das Programmfenster des aufgerufenen Programmes minimieren, wie etwa in dieser Variante:
WScript.CreateObject("WScript.Shell").Run "rundll32.exe %WINDIR%\System32\msdxm.ocx,RunDll /play /close ""D:\Sound\Nur ein Test.mp3""", 7, True  

Grüße
bastla
Member: whiteF2
whiteF2 Sep 21, 2008 at 20:15:18 (UTC)
Goto Top
mh, ging nur einmal, wenn ich das nochmal öffne/teste dann kommt folgender fehler:

RunDLL
Fehler in ...system32\msdxm.ocx
Folgender Eintrag fehlt:RunDLL
Member: bastla
bastla Sep 22, 2008 at 05:11:59 (UTC)
Goto Top
Hallo whiteF2!

Abgesehen davon, dass ich das Problem nicht nachvollziehen konnte, würde mir ohnehin die im verlinkten Artikel gezeigte Vorgangsweise eher zusagen ...

Grüße
bastla
Member: Biber
Biber Sep 22, 2008 at 05:55:04 (UTC)
Goto Top
@bastla
FULL ACK, wie der Lateiner sagt....

und um Dir, whiteF2, die von den Scripting Guys angegebene sndrec32 ein bissi schmackhafter zu machen, steuere ich einen weiteren undokumentierten Parameter bei, der alles noch einfacher macht.

Bitte teste am CMD-Prompt folgenden Aufruf
sndrec32 /play /close /embedding "c:\WINDOWS\Media\Windows XP-Benachrichtigung.wav"  
[...ggf. natürlich mit einer bei Dir existierenden *.wav-Datei]

Durch den /embedding-Parameter wird jegliches UI unterdrückt, das Programm verhält sich wie meine neue Wohnungsnachbarin (nicht zu sehen, aber deutlich zu hören).

Ein wartbarer Mehrzeiler analog bastlas Vorlage bzw. den ScriptingGuys wäre dann:
strSoundFile = "c:\WINDOWS\Media\Windows XP-Benachrichtigung.wav"  
strCmd ="sndrec32 /play /close /embedding " & chr(34) &  strSoundFile & chr(34)  
WScript.CreateObject("WScript.Shell").Run strcmd, 0, true   

Grüße
Biber
Member: whiteF2
whiteF2 Sep 22, 2008 at 18:42:03 (UTC)
Goto Top
geht net.... sollte ich dazu erwähnen dass ich VISTA (32b) hab??

mfg

;)
Member: bastla
bastla Sep 22, 2008 at 19:05:05 (UTC)
Goto Top
Hallo whiteF2!

geht net....
Na, das ist ja wenigstens einmal eine aussagekräftige Fehlerbeschreibung ...
sollte ich dazu erwähnen dass ich VISTA (32b) hab??
Aber nein, wozu denn?
Wie sieht's aus, wenn Du anstelle von "sndrec32" "SoundRecorder" verwendest?

Grüße
bastla
Member: whiteF2
whiteF2 Sep 23, 2008 at 20:26:36 (UTC)
Goto Top
mh, jetzt minimiert sich nur der Ordner in dem sich meine test.vbs mit obigen inhalt!

:D :D :D

oh man, ich glaub ich bastel mir mit delphi lieber ne mini exe... :D