Aplicação em execucao mais de uma vez
Pessoal
Como fazer para quando a aplicação já estiver em execução e minimizada não deixar o cliente chamá-la novamente.
Grato.
Como fazer para quando a aplicação já estiver em execução e minimizada não deixar o cliente chamá-la novamente.
Grato.
Marcos Roberto
Curtidas 0
Respostas
Marco Salles
07/06/2012
Bem ha algumas formas . Vc pode utilizar o findWindows
Hwnd := FindWindow (´TPrograma´, ´Programa´);
eu particularmente utilizo para Isto o MUTEX
coloque no seu dpr ( unit do Program ) o seguinte código
uses
Forms,
Windows,
Dialogs,
//Principal in ´Principal.pas´ ,
{ Mais alguns formulários... }
{$R *.RES}
begin
CreateMutex(nil, True, ´XyZzWw´);
if GetLastError = ERROR_ALREADY_EXISTS then // testa se o Mutex ja foi criado
Exit;
Application.Initialize;
.... demais códigos
Hwnd := FindWindow (´TPrograma´, ´Programa´);
eu particularmente utilizo para Isto o MUTEX
coloque no seu dpr ( unit do Program ) o seguinte código
uses
Forms,
Windows,
Dialogs,
//Principal in ´Principal.pas´ ,
{ Mais alguns formulários... }
{$R *.RES}
begin
CreateMutex(nil, True, ´XyZzWw´);
if GetLastError = ERROR_ALREADY_EXISTS then // testa se o Mutex ja foi criado
Exit;
Application.Initialize;
.... demais códigos
GOSTEI 0
Marcos Roberto
07/06/2012
Valeu, deu beleza !
GOSTEI 0
Marco Salles
07/06/2012
O Mutex é uma boa prática né...
GOSTEI 0