Verificar se aplicação está sendo executada.
Pessoal, alguem sabe como faço para verificar se uma aplicação está sendo executada através de seu processo?
Obrigado
Obrigado
Edusjc
Curtidas 0
Respostas
Edjlle
07/01/2009
Se for para encontrar um executável rodando:
var hHandle: THandle; sExename: string; begin // Supondo que o nome do main form seja Form1 hHandle := FindWindow(´TForm1´, nil); if hHandle = 0 then begin // Teste.exe é o nome do executável sExename := ExtractFilePath(Application.ExeName)+´Teste.exe´; end else begin // Executa o programa - se estiver no drive C if ShellExecute(Handle, PChar(´open´), PChar(sExename), 0, PChar(´C:\´), SW_SHOWMINNOACTIVE) <= 32 then ShowMessage(´Executável não encontrado´);
GOSTEI 0
Edjlle
07/01/2009
Cara, não tem nada a ver o código que eu escrevi aí, desculpe-me,
o código certo é:
o código certo é:
var hHandle: THandle; sExename: string; begin // Supondo que o nome da classe do main form seja TForm1 hHandle := FindWindow(´TForm1´, nil); if hHandle <> 0 then begin ShowMessage(´Executável já rodando.´); end else begin // Executa o programa (chamado Teste.exe) - do diretório desta aplicação sExename := ExtractFilePath(Application.ExeName)+´Teste.exe´; if ShellExecute(self.Handle, PChar(´open´), PChar(sExename), 0, PChar(´C:\´), SW_NORMAL) <= 32 then ShowMessage(´Executável não encontrado´); end; end;
GOSTEI 0
Edusjc
07/01/2009
Mas nesse caso ele vai verificar se tem alguma janela com um determinado caption certo? Não existe algum modo que ele verifica o exe dele no processo do task manager? Pois a minha aplicação deve ficar em um looping e só continuar depois que fechar esse executável que desejo verificar, e ele altera o titulo da janela várias vezes.
Obrigado
Obrigado
GOSTEI 0
Edjlle
07/01/2009
Veja o link, tem um exemplo:
http://www.activedelphi.com.br/modules.php?op=modload&name=Downloads&file=index&req=viewdownloaddetails&lid=527&ttitle=Finaliza_Processos
Você precisará estar logado para baixar.
http://www.activedelphi.com.br/modules.php?op=modload&name=Downloads&file=index&req=viewdownloaddetails&lid=527&ttitle=Finaliza_Processos
Você precisará estar logado para baixar.
GOSTEI 0