Bonjour,
La méthode exited de mon process n'est pas appelée malgré que j'ai bien spécifié 
	
	process.EnableRaisingEvents = true;
 Le process qui est appelé provient d'un exécutable que j'ai moi-même programmé et qui est simplissime :
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 |  
namespace CalledProcess
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("ici");
        }
 
    }
} | 
 Et le code de mon programme appelant est :
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 
 |  
namespace Test
{
    class Program
    {
        static string _sBatchPath = @"E:\CalledProcess.exe";
 
        static void Main(string[] args)
        {
            child_process();
 
            sbrWriteFile(_sFileName, "Appelant début");
        }
 
        private static void ProcessExited(object sender, EventArgs e)
        {
            Console.WriteLine("Appelant fin");
        }
 
        private static void child_process()
        {
            var info = new ProcessStartInfo(_sBatchPath);
            info.UseShellExecute = true;
 
            var process = new Process();
            process.StartInfo = info;
            process.EnableRaisingEvents = true;
            process.Exited += ProcessExited;
            process.Start();
        }
    }
} | 
 Merci beaucoup par avance.
Eric.
						
					
Partager