SABER SE EXE ESTA RODANDO
Bom dia, estou com um problema em uma aplicação C# windows forms, aonde a aplicação A depende da aplicação B, minha dúvida é, como faço em C# para saber se na aplicação A se a aplicação B.exe está rodando ou não? Alguém teria alguma dica?
Obrigado
Obrigado
Amigo, faça o seguinte, no LOAD do seu projeto vc precisa verificar se o B.exe está sendo executado certo ??
Se ele estiver continua a carregar o programa. Caso contrário interrompe o fluxo do programa certo ??
Veja se o exemplo abaixo te ajuda:
Em anexo existe um exemplo que eu fiz de processos, veja tbm se te ajuda !!
Abraços !!!
Se ele estiver continua a carregar o programa. Caso contrário interrompe o fluxo do programa certo ??
Veja se o exemplo abaixo te ajuda:
System.Diagnostics.Process[] processos;
processos = System.Diagnostics.Process.GetProcesses();
dataGridView1.Rows.Clear();
// Faz um FOR (busca) em todos os processos
for (int i = 0; i < processos.Length; i++)
{
// Verifica se um processo em especifico está sendo executado
if (processos[i].ProcessName == [Ô]firefox[Ô])
{
MessageBox.Show([Ô]Processo encontrado. APP será iniciado normalmente !![Ô]);
// AQUI VOCE COLOCA O FORM QUE DEVERA SER ABERTO SE O B.exe FOR ENCONTRADO
return;
}
}
// Caso o processo não seja localizado exibe uma msg e finaliza a aplicação
MessageBox.Show([Ô]Processo segundário para executar esse APP não foi encontrado, o programa será finalizado !![Ô]);
Application.Exit();
Em anexo existe um exemplo que eu fiz de processos, veja tbm se te ajuda !!
Abraços !!!
Eu só buscaria o aplicativo pelo nome ao invés de efetuar um For.
Esley, adaptei o seu exemplo usando o GetProcessesByName ok?
[txt-color=#e80000]Alteração.:[/txt-color] Erro de digitação.
Esley, adaptei o seu exemplo usando o GetProcessesByName ok?
// Verifica se um processo em especifico está sendo executado
if (System.Diagnostics.Process.GetProcessesByName([Ô]B[Ô]).Length == 1)
{
MessageBox.Show([Ô]Processo encontrado. APP será iniciado normalmente !![Ô]);
// AQUI VOCE COLOCA O FORM QUE DEVERA SER ABERTO SE O B.exe FOR ENCONTRADO
}
else
{
// Caso o processo não seja localizado exibe uma msg e finaliza a aplicação
MessageBox.Show([Ô]Processo segundário para executar esse APP não foi encontrado, o programa será finalizado !![Ô]);
Application.Exit();
}
[txt-color=#e80000]Alteração.:[/txt-color] Erro de digitação.
Pessoal, é isso mesmo, as duas respostas me ajudaram muito, agora só vou pesquisar como Startar a aplicação B quando não estiver iniciada, já já fecho o tópico e pontuo.
Muito Obrigado mesmo!
Muito Obrigado mesmo!
Process.Start([Ô]B.exe[Ô])
Tópico encerrado , respostas não são mais permitidas