Apresente o namespace: usando System.Diagnostics;
Inicie um processo, por exemplo, abra o Bloco de Notas:
Process process1 = new Process();
process1.StartInfo.FileName
= "NotePad.exe"
;
Encerre um processo:
Process[] p = Process.GetProcessesByName("NotePad");
if (p.Length >0)
{
if (!p[0].HasExited)
{
if (p[0].Responding)
{
p [
0].CloseMainWindow(
)
}
else
{
p[0]
.Kill()
;
A propriedade HasExited do thread é usada para determinar se o thread foi fechado. Se o processo tiver sido encerrado, um valor de atributo verdadeiro será retornado; se o processo ainda estiver em execução, um valor de atributo falso será retornado.
A propriedade Responding do thread determina se a interface do usuário do processo está respondendo. Quando é feita uma tentativa de ler a propriedade Response, uma solicitação é enviada à interface do usuário do processo de destino. Se houver uma resposta imediata, o valor do atributo retornado será verdadeiro e o método CloseMainWindow poderá ser chamado para fechar o aplicativo; se a interface não responder, o valor do atributo falso será retornado e o método Kill poderá ser chamado para forçar a resposta; processo para fechar.
http://www.cnblogs.com/KissKnife/archive/2006/08/13/475704.html