ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Abrir instancia de aplicação já aberta.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
eduardoserrao
Novato
Novato


Registrado: Segunda-Feira, 28 de Novembro de 2016
Mensagens: 72

MensagemEnviada: Qua Out 30, 2019 5:49 pm    Assunto: Abrir instancia de aplicação já aberta. Responder com Citação

Pessoal,
Gostaria de saber se é possível chamar uma instancia de aplicação já aberta.

Exemplo:
Tenho o Meu.exe, quando dou dois cliques no ícone ele abre a aplicação.
Eu queria que quando eu desse dois cliques no icone denovo ele exibisse a aplicação que já esta aberta. Evitando abrir a aplicação mais de uma vez.

Só achei como jogar mensagem para impedir abrir 2 vezes.

Alguém sabe se isso é possível?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 2928
Localização: Belo Horizonte - MG

MensagemEnviada: Qui Out 31, 2019 11:38 am    Assunto: Responder com Citação

No arquivo dpr (menu Project -> View Source), acrescente Windows na uses e tente o código abaixo:

Código:
var
  Handle: Thandle;

begin
  // Verifica se o aplicativo já esta aberto
  Handle := FindWindow('TFormPrincipal', nil); // Troque TFormPrincipal pelo nome da classe do seu form principal

  if Handle <> 0 then
  begin // Já está aberto
    ShowWindow(Handle, SW_RESTORE);
    SetForegroundWindow(Handle);
    Exit;
  end;

... // continuação do código

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB