Bonjour à tous,
Une fois n'est pas coutume, c'est moi qui vient demander de l'aide.
Je souhaites lancer une application Windows (qui s'exécute en mode "batch", sans interface graphique) et récupérer dans mon script perl ce qu'elle écrit sur la sortie standard.
J'utilise actuellement qx(...), et ça fonctionne bien, mais j'ai l'apparition d'une fenêtre DOS vide la première fois que je lance cette application, et plus les suivantes.
Je voulais donc tenter d'utiliser Win32::Process. Cependant, je n'arrive pas à exécuter l'application, la fonction Win32::Process::Create retournant "FAUX" et $@ restant vide (je n'ai donc pas de diagnostic).
J'ai essayé avec un chemin de lancement en / et en \\.
Voici la ligne qui lance l'application :
Similaire à ce qui est indiqué dans la doc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 my $doors_exe = q("C:/Program Files (x86)/Telelogic/DOORS_8.2/bin/doors.exe"); my $process; Win32::Process::Create($process, $doors_exe, qq(doors -W -batch "$dxl" -user $user -password '$password' -project "$project"), 0, NORMAL_PRIORITY_CLASS | DETACHED_PROCESS, ".") || die "Can't start doors: $@\n"; my $exitcode; do { $process->GetExitCode($exitcode); $process->Wait(1000); } while $exitcode == STILL_ACTIVE;
Je travaille avec Strawberry perl 5.16.2
Ma version de Win32::Process est à jour (0.14)
Existe-t-il d'autre modules pour lancer des applications Windows ?
Qu'est-ce sont les sources d'erreurs possible avec Win32::Process et/ou comment les trouver ?
Partager