Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created October 1, 2014 13:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fhernd/b7a205293eeef1759749 to your computer and use it in GitHub Desktop.
Save Fhernd/b7a205293eeef1759749 to your computer and use it in GitHub Desktop.
Demostración de uso de los métodos `CloseMainWindow` y 'Kill' de la clase `Process`.
using System;
using System.Diagnostics;
using System.Threading;
namespace Receta.CSharp.R0416
{
public sealed class TerminacionBlocNotas
{
public static void Main()
{
Console.Title = "--- Terminación de Instancia de Bloc de Notas ---";
Console.WriteLine ();
// Creación de proceso para ejecución de Bloc de notas:
using (Process proceso = Process.Start ("notepad.exe", @"C:\shared\ArchivoTextoPlano.txt"))
{
// Tiempo de espera de terminación de Bloc de notas de 5 segundos:
Console.WriteLine ("Espera de 5 segundos antes de terminar el Bloc de notas.\n");
Thread.Sleep (5000);
// Terminar el proceso:
Console.WriteLine ("Terminación del Bloc de notas con el método `CloseMainWindow`.");
// Envía señal de terminación con `CloseMainWindow`:
if (!proceso.CloseMainWindow())
{
// En caso de realizarse la terminación con `CloseMainWindow`, se invoca al
// método `Kill`:
Console.WriteLine ("Terminación del Bloc de notas con el método `Kill`.");
proceso.Kill();
}
else
{
// La terminación de la aplicación fue corresta; sin embargo esperamos 2
// segundos para confirmar la terminación antes de recurrir
// a la invocación del método `Kill`:
if (!proceso.WaitForExit (2000))
{
Console.WriteLine ("El método `CloseMainWindow` falló la terminación del " +
"Bloc de notas. La terminación se realizará con `Kill`."
);
proceso.Kill();
}
}
}
Console.WriteLine ();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment