2010-09-22 34 views
5

Estoy trabajando en un proyecto de C#. Desde mi aplicación, tengo que cerrar otra aplicación (ambas son mis propias aplicaciones). ¿Puedo obtener la instancia de la primera aplicación en el segundo?Cerrar una aplicación de otra en C# .net

Respuesta

12

usted tiene que conseguir todo el proceso en la matriz proceso, de modo que vamos a obtener, procedimiento que está pasando

Process []GetPArry = Process.GetProcesses(); 
foreach(Process testProcess in GetPArry) 
{ 
    string ProcessName = testProcess .ProcessName; 

    ProcessName = ProcessName .ToLower(); 
    if (ProcessName.CompareTo("winword") == 0) 
     testProcess.Kill(); 
} 

aquí winword es el otro proceso o se puede decir aplicación que se ejecuta a quien vamos a matar

+0

Hola, gracias por la ayuda. el código esta funcionando. – Hali

+0

Puede ser una buena idea salir del bucle cuando se encuentre el proceso correcto. – jgauffin

+0

estoy de acuerdo con jgauffin, salga de loop cuando tenga el proceso – naval

1

esto se puede hacer mediante el uso de NamedPipes

1- Uso NamedPipe para enviar algún evento para cerrar la segunda instancia.

+0

gracias a todos, tengo el resultado mediante el uso de 'proceso' – Hali

2

Una versión moderna en C# se vería así:

var processArray = Process.GetProcesses(); 
var process = processArray.FirstOrDefault(p => p.ProcessName == "AcroRd32"); 
process?.Kill(); 
Cuestiones relacionadas