Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. using System;
  2. using System.Diagnostics;
  3. using System.Threading;
  4.  
  5. namespace Receta.CSharp.R0416
  6. {
  7.     public sealed class UsoCloseMainWindow
  8.     {
  9.         public static void Main()
  10.         {
  11.             Console.Title = "--- Uso del Método `CloseMainWindow` ---";
  12.             Console.WriteLine ();
  13.        
  14.             // Inicia la ejecución de un proceso:
  15.             try
  16.             {
  17.                 Process proceso;
  18.                
  19.                 proceso = Process.Start ("Notepad.exe");
  20.                
  21.                 // Ciclo para determianr el uso de meomria del proceo
  22.                 // recién creado:
  23.                 for (int i = 1; i <= 5; ++i)
  24.                 {
  25.                     // Verifica que el programa continua en ejecución:
  26.                     if (!proceso.HasExited)
  27.                     {
  28.                         // Omite cualquier información de caché asociada al proceso:
  29.                         proceso.Refresh();
  30.                        
  31.                         // Imprime la memoria física en uso del proceso:
  32.                         Console.WriteLine ("Memoria física en uso: {0}",
  33.                             proceso.WorkingSet.ToString()
  34.                         );
  35.                        
  36.                         // Espera dos segundos:
  37.                         Thread.Sleep (2000);
  38.                     }
  39.                     else
  40.                     {
  41.                         break;
  42.                     }
  43.                 }
  44.                
  45.                 // Envía mensaje de cierre de la ventana principal del Bloc de notas:
  46.                 proceso.CloseMainWindow();
  47.                
  48.                 // Libera recursos asociados al proceso:
  49.                 proceso.Close ();
  50.             }
  51.             catch (Exception e)
  52.             {
  53.                 Console.WriteLine ("Se generó la excepción: {0}", e.Message);
  54.             }
  55.            
  56.             Console.WriteLine ();
  57.         }
  58.     }
  59. }