Hola.
Me habían pasado hace tiempo este código, que no probé, y se supone que puede detectar cualquier aplicacion inclusive si se está ejecutando en otra máquina, habrá que probar
Hay que agregar 'TLHelp32' en el uses de tu form
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
function IsRunnig (FicheroExe:string):boolean;
function SacaExe(MangoW:HWND):string;
var
Datos :TProcessEntry32;
hID Word;
Snap : Integer;
begin
GetWindowThreadProcessId(MangoW,@hID);
Snap:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
try
Datos.dwSize:=SizeOf(Datos);
if(Process32First(Snap,Datos))then
begin
repeat
if Datos.th32ProcessID=hID then
begin
Result:=StrPas(Datos.szExeFile);
Break;
end;
until not(Process32Next(Snap,Datos));
end;
finally
Windows.CloseHandle(Snap);
end;
end;
function ObtieneVentanas(Mango: HWND;
ACerrar: Pointer): Boolean; stdcall;
begin
Result := True;
if SacaExe(Mango)=UpperCase( String(ACerrar^) )then
begin
String(Acerrar^):='Encontrado';
end;
end;
begin
EnumWindows( @ObtieneVentanas, Integer(@FicheroExe) );
Result:=(FicheroExe='Encontrado');
end;
begin
if IsRunnig('C:\WINDOWS\NOTEPAD.EXE')
then ShowMessage ('Ejecutandose/Running')
else ShowMessage ('No Ejecutandose/Do not running');
end;
Espero te sirva, sino a seguir buscando!!!!
Saludos
Augusto