Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Vídeos

Vídeos

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Banner

Inno Setup

Detectar programa rodando no Inno Setup

O exemplo abaixo mostra como executar um programa no final da instalação, mas somente se o programa não estiver rodando.
[Run]
Filename: "{app}\MeuPrograma.exe"; Description: "Iniciar Meu Programa"; Flags: nowait postinstall skipifsilent; Check: ExecutarMeuPrograma;


[Code]

function IsAppRunning(const AFileName : string): Boolean;
var
  SWbemLocator: Variant;
  SWbemService: Variant;
  SWbemObjectSet: Variant;
begin
  try
    SWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
    SWbemService := SWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
    SWbemObjectSet := SWbemService.ExecQuery('SELECT Name FROM Win32_Process WHERE Name="' + AFileName + '"');
    Result := (SWbemObjectSet.Count > 0);
  finally
    SWbemLocator := Unassigned;
    SWbemService := Unassigned;
    SWbemObjectSet := Unassigned;
  end;
end;

function ExecutarMeuPrograma: Boolean;
begin
  Result := not IsAppRunning('MeuPrograma.exe');
end;

O conteúdo desta página pode ajudar alguém? Compartilhe!