exec() et fenetre dos apparente

exec() et fenetre dos apparente - PHP - Programmation

Marsh Posté le 11-07-2009 à 15:39:07    

Bonjour,
 
J'utilise la commande exec() pour appeler un programme dos et j'ai une jolie fenetre qui s'ouvre :( comment la faire passer en arrière plan ou disparaite ?
 
Merci d'avance


Message édité par bird80 le 11-07-2009 à 17:46:49
Reply

Marsh Posté le 11-07-2009 à 15:39:07   

Reply

Marsh Posté le 13-07-2009 à 17:40:53    

up

Reply

Marsh Posté le 17-07-2009 à 13:50:21    

je dirais que le pb viens plutot de DOS et / ou windows plutot que php  
 
Je me poserait donc plutot la question : comment exécuter un programme dos sans que la fenetre dos s'ouvre quand je double clique sur le programme (sans php et donc pas dans ce forum :-) ) .


---------------
Du tofu en Alsace : www.tofuhong.com
Reply

Marsh Posté le 17-07-2009 à 15:50:36    

Plutôt que de faire des suppositions hasardeuses, lisons la doc, et plus particulièrement le feedback des utilisateurs : http://fr3.php.net/manual/en/function.exec.php
 
La solution s'y trouve :

rivera at spamjoy dot unr dot edu
06-Oct-2005 10:17  
windExec() reloaded:
* unique timestamp name was probably a good idea for multiple instances of function running @ same time
* includes handy FG/BG parameter
 
<?php
define ('EXEC_TMP_DIR', 'C:\tmp');
 
function windExec($cmd,$mode=''){
    // runs a command line and returns
    // the output even for Wind XP SP2
    // example: $cmd = "fullpath.exe -arg1 -arg2"
    // $outputString = windExec($cmd, "FG" );
    // OR windExec($cmd);
    // (no output since it runs in BG by default)
    // for output requires that EXEC_TMP_DIR be defined
 
    // Setup the command to run from "run"
    $cmdline = "cmd /C $cmd";
 
    // set-up the output and mode
    if ($mode=='FG'){
        $outputfile = EXEC_TMP_DIR . "\\" . time() . ".txt";
        $cmdline .= " > $outputfile";
        $m = true;
    }
    else $m = false;
 
    // Make a new instance of the COM object
    $WshShell = new COM("WScript.Shell" );
 
    // Make the command window but dont show it.
    $oExec = $WshShell->Run($cmdline, 0, $m);
 
    if ($outputfile){
        // Read the tmp file.
        $retStr = file_get_contents($outputfile);
        // Delete the temp_file.
        unlink($outputfile);
    }
    else $retStr = "";
 
    return $retStr;
}


Reply

Marsh Posté le 20-07-2009 à 00:28:33    

Merci olivthill, je vais regarder ca dans le courant de la semaine.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed