Localizando processo aberto
Veja neste artigo como podemos saber se um processo ou aplicativo processo esta aberto ou não.
Artigos Delphi Localizando processo aberto
Olá galera, vamos a esta este artigo, que tem a função de mostra se um determinado aplicativo esta aberto, esta função é bem legal, e pode ser aproveitada para evitar que seu software seja aberto mais de uma vez, vamos a implementação da mesma.
Criamos uma aplicação e nela incluímos um TButton, apenas para testar a função.
Vamos agora precisar dar uses em Tlhelp32. Em seguida vamos declarar a function.
function ValidarSoftwareAberto(ExeFileName: String): Boolean;
Agora vamos usar o famoso CTRL + SHIF + C, em cima da function para poder implementar seu código deverá ficar assim
function TForm1.ValidarSoftwareAberto(ExeFileName: String): Boolean;
Agora vamos a implementação da Function ValidarSoftwareAberto. Observe que a mesma retorna um Boolean, ou seja, se ela retornar TRUE é por que o software esta aberto, caso contrário o mesmo não esta aberto. Veja sua implementação.
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase
(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase
(ExeFileName))) then
Agora para testar a mesma precisamos usar o evento onClick do TButton, e implementar o seguinte código.
xExeFileName: String;
xExeFileName := 'chrome.exe';
if ValidarSoftwareAberto(xExeFileName) then
ShowMessage(xExeFileName + ' esta Aberto !!!');
ShowMessage(xExeFileName + ' não esta Aberto !!!');
Desta maneira caso o xExeFileName não esteja aberto você verá a mensagem 'chrome.exe não esta Aberto !!!' e para ver a outra mensagem basta abrir algum programa e olhar no gerenciador de tarefas o seu nome na lista de processos.