Allan ... tudo beleza !!!

Eu utilizo a rotina abaixo e funciona legal ...


{$R *.res}

var
  Handle: Thandle;

begin
// Verifica se o aplicativo já esta aberto
    Handle := FindWindow('TMAIN', nil);
    if Handle <> 0 then begin // Já está aberto
      Application.MessageBox('Este programa já está sendo
executado.','Atenção!', MB_ICONINFORMATION);
    if not IsWindowVisible(Handle) then
      ShowWindow(Handle, SW_SHOWMAXIMIZED);
      SetForegroundWindow(Handle);
      Exit;
end;




2006/7/12, Allan <[EMAIL PROTECTED]>:
>
> Prezados,
>     vejam bem, estou na verdade fazendo uma checagem se o aplicativo já
> está aberto, se está aberto ele deve mostrar o form principal, ele mostra
> somente qdo não está minimizado, se estiver apenas por baixo das outras
> janelas blz, mas qdo minimizo ele, ele não apresenta o programa na tela,
> veja as linhas abaixo:
>
> {$R *.res}
> // var para iniciar apenas uma instância do aplicativo
> var Handle : THandle;
> begin
>    // aqui localiza nas janelas do windows se já tem uma com o nome do
> form principal
> Handle := FindWindow('TFPrincipalMenu',nil);
>    // se handle = 0 Não  esta aberto
> If Handle =0 then begin
>       FSplash := TFSplash.Create(Application);
>     ..
>     ..
>     ..
>       //
>       Application.Run;
> end
> Else begin
>    // se já esta aberto ele joga a msg e mostra o aplicativo na tela.
>   Application.MessageBox('O programa já está aberto, impossível carregar
> duas instâncias.',>>> Aviso <<<',64);
>       Application.Restore; /// aqui está a linha que deveria mostrar ele
> na tela mesmo qdo minimizado.
>       SetForegroundWindow(Handle);
>    end;
>
> Conto com a valiosa ajuda de vcs.Até se alguém tiver uma outra maneira de
> fazer isso, agradeço muito.
> DEUS É PAI.
> []'s
> Allan
> msn [EMAIL PROTECTED]
> Skype allan_gabriel
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
>
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>


-- 
Sylvio Rodrigues (r)
fone: (17) 8112-9812
e-mail/msn: [EMAIL PROTECTED]
"Ninguém pode voltar atrás e fazer um novo começo. Mas todos podemos começar
agora e fazer um novo fim"


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a