ja habe ich auch getestet… es funktioniert nicht.
folgender aufruf in der com Box funktioniert einwandfrei:
vdub /capture /capdevice „ManyCam Virtual Webcam“ /capfileinc D:\Daten\WebSrv\WWWroot\1.avi /capstart 15s
Das hier:
$C_Parameter="/capture /capdevice „ManyCam Virtual Webcam“ /capfileinc D:\Daten\WebSrv\WWWroot\1.avi /capstart 15s";
echo $C_Parameter;
IPS_ExecuteEX(„D:\Daten\Prg\VirtualDub\vdub.exe“,$C_Parameter ,false, false,0);
funktionert auch nicht, aber das echo von $C_Parameter sieht gut aus…
Ich bin aber einen schritt weiter,
vdub startet jetzt, bekommt aber den letzten parameter nicht mehr mit
(Der bestimmt wie lange der capture läuft - hier 2 sec.)
Also was hier vorgeschlagen wurde ist nicht ganz falsch, aber es fehlt quasi überall an den details. Präzision dürfte hier der Schlüssel zum Erfolg sein.
dieser Ausdruck, sagst du, funktioniert in der Batch.
In der Doku kannst du nachlesen wie genau die Parameter übergeben werden müssen.
Das Exe-File muss von den Parametern getrennt übergeben werden. Der Rest, also die Parameterliste soll statisch, also unverändert bleiben. Darum darfst du auf garkeinen Fall die doppelten Anführungszeichen um den String setzen. Wenn du das nicht tust hat das gleichzeitig den Vorteil, dass du sie innen, also in der Parameterliste, verwenden kannst.
Ich würde daher - blind und ungetestet - folgendes Vorschlagen:
Im Taskmanager ist zu sehen das VirtualDub im Userkontext ausgeführt wird.
Hier wird eine capture Datei geschrieben, aber… immer weiter.
→ dieser Parameter /capstart 5 s wird nicht beachtet. (nach 5 sec ausschalten)
Den Parameter vorher zu setzen bringt nix (vorher wird er auch im batchfile ignoriert)
also ich kenne zwar vdub nicht, aber ich hatte mit dem IPS_Execute auch so meine speziellen Erfahrungen:
WINXP: Wenn ich am Server den Administrator-User mit Kennwort versehe, so funktionieren einige Proramme nicht richtig, wenn ich sie mit IPS_Execute ausführe. Dürfte damit zu tun haben, dass die Programme ja vom Treiber aus mit dem Systemkonto aufgerufen werden. Lösche ich das Passwort des Administrator funktioniert alles einwandfrei.
Vielleicht geht euer Problem auch in diese Richtung (vdub vom Treiber aus aufgerufen hat zB keine Rechte, das File auf der Platte anzulegen). Falls nicht, war’s zumindest einen Versuch wert.
in eine neues Skript eingefügt und getestet. Es funktioniert. Ich vermute das das ursprüngliche Skript doppelt getriggert wurde. Dadurch wurden die Parameter von Vdub nicht richtig ausgeführt. (Wenn ich das Testskript schnell doppelt starte verhält es sich so…)
Nur werde ich mit Semaphore verhindern das Vdub nochmalig gestartet werden kann.