/** Autor: Marcos Guedes* Fonte: http://forum.programacaobrasil.com/-t1228.htm*/using System.Diagnostics;namespace API_PB{///Classe por manipular processos do Windows public class PB_Processos{public PB_Processos(){}///Verifica se um processo está em execução /// Nome do Processo (Sem a extensão)///Retorna true se o processo estiver em execução public bool verificaExecutando(string nomeProcesso){bool executando = false;Process[] processos = Process.GetProcesses();foreach (Process p in processos){if (p.ProcessName.Trim().ToUpper() == nomeProcesso.Trim().ToUpper()){executando = true;break;}}return executando;}///Finaliza um processo em execução /// Nome do Processo (Sem a extensão)public void finalizaProcesso(string nomeProcesso){Process[] processos = Process.GetProcesses();foreach (Process p in processos){if (p.ProcessName.Trim().ToUpper() == nomeProcesso.Trim().ToUpper()){p.Kill();break;}}}///Finaliza um, ou todos, processos em execução /// Nome do Processo (Sem a extensão)/// True para finalizar todos, false para finalizar apenas umpublic void finalizaProcesso(string nomeProcesso, bool todos){if (todos){Process[] processos = Process.GetProcessesByName(nomeProcesso.Trim());foreach (Process processo in processos){processo.Kill();}}else{this.finalizaProcesso(nomeProcesso);}}///Finaliza um, ou mais, processos em execução /// Nome do Processo (Sem a extensão)/// Quantidade de processos a ser finalizadospublic void finalizaProcesso(string nomeProcesso, int quantos){for (int contador = 0; contador <>{this.finalizaProcesso(nomeProcesso);}}///Executa um processo em modo Síncrono (Aguarda o encerramento do mesmo para prosseguir) /// Nome, ou caminho, do arquivopublic void executarSincrono(string nomeArquivo){Process setup = new Process();setup.StartInfo.FileName = nomeArquivo;setup.StartInfo.UseShellExecute = false;setup.EnableRaisingEvents = false;setup.Start();setup.WaitForExit();}///Executa um processo em modo assíncrono (Nâo aguarda o encerramento para prosseguir) /// Nome, ou caminho, do arquivopublic void executarAssincrono(string nomeArquivo){Process setup = new Process();setup.StartInfo.FileName = nomeArquivo;setup.StartInfo.UseShellExecute = false;setup.EnableRaisingEvents = false;setup.Start();}}}
terça-feira, 20 de julho de 2010
Processos do Windows
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário