Comment faire en sorte que la fenêtre de l'application gère ou gère le processus du processus Excel qui appartient à l'instance d'application Excel que nous avons créée? Nous utilisons Interop.Excel.dll Version 1.3.0.0. La classe d'application semble n'avoir aucune propriété HWnd à appeler.Comment obtenir une fenêtre ou un handle de processus d'un certain processus Excel?
Notez que ce n'est pas une solution de trouver simplement tous les processus avec le nom excel.exe parce que nous avons beaucoup d'instances d'Excel s'exécutant en parallèle et nous voulons seulement fermer une certaine instance.
Excel.Application app = new Excel.Application();
// .. do something with excel here
app.Quit();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
GC.WaitForPendingFinalizers();
// this is in some cases still not enough to get excel killed
uint processID;
GetWindowThreadProcessId((IntPtr)hWnd, out processID); // how to get HWnd from this Excel application?
Process.GetProcessById((int)processID).Kill();
Cela va trouver n'importe quelle fenêtre d'Excel mais pas une certaine fenêtre Excel – codymanix