Verificar se a aplicação já esta aberta
05/12/2012
0
Carlos Magno
Post mais votado
05/12/2012
na seção USES adicione Windows para que o tipo Thandle funcione (caso não tenha adicionado), depois só seguir o exemplo:
var
HprevHist: Thandle;
begin
Application.Initialize;
begin
HprevHist := FindWindow(Nil, PChar('título da aplicação'));
if(HprevHist <> 0)then
begin
Application.MessageBox('Aplicativo já se encontra em execução !','Atenção',MB_OK);
ShowWindow(HprevHist,SW_NORMAL);
Application.Terminate;
Exit;
end;
end;
Application.Title := 'título da aplicação';
Application.CreateForm(TfrmPrincipal, frmPrincipal);
Application.Run;
end.
Roney Melo
Mais Posts
05/12/2012
Carlos Magno
var HprevHist: Thandle; begin Application.Initialize; begin HprevHist := FindWindow(Nil, PChar('título da aplicação')); if(HprevHist <> 0)then begin Application.MessageBox('Aplicativo já se encontra em execução !','Atenção',MB_OK); ShowWindow(HprevHist,SW_NORMAL); Application.Terminate; Exit; end; end; Application.Title := 'título da aplicação'; Application.CreateForm(TfrmPrincipal, frmPrincipal); Application.Run; end.
06/12/2012
Alan Souza
Você pode abrí-lo no menu Project > View Source, ou editá-lo num notepad...
Somente é necessário trocar alguns dados relativos à sua aplicação e à criação do(s) formulário(s), como o Roney já indicou!
06/12/2012
Carlos Magno
06/12/2012
Alan Souza
06/12/2012
Alan Souza
isso pode acontecer por exemplo se seu projeto se chama Financeiro e o Application.Title := 'Financeiro', no caso troque para Application.Title := 'Sistema Financeiro'.
06/12/2012
Carlos Magno
[url]https://www.devmedia.com.br/forum/viewtopic.asp?id=429711[/url]
Desde já agradeço a ajuda podem colocar esse tópico como resolvido.
08/04/2020
Felipe
segue ai meu código...
var
HprevHist: Thandle;
begin
Application.Initialize;
HprevHist := FindWindow(Nil, PChar(''Sys ControlEasy''));
if(HprevHist <> 0)then
begin
Application.MessageBox(''O aplicativo já se encontra em execução !'',''Atenção'',MB_OK);
ShowWindow(HprevHist,SW_NORMAL);
Application.Terminate;
Exit;
end;
Application.MainFormOnTaskbar := True;
TStyleManager.TrySetStyle(''Smokey Quartz Kamri'');
Application.Title := ''ControlEasy'';
Application.CreateForm(TDmDados, DmDados);
Application.CreateForm(TfrmPrincipal, frmPrincipal);
Application.Run;
end.
09/09/2020
Pedro Deola
uses
Vcl.Forms,
Vcl.Themes,
Vcl.Styles,
Windows,
CreateMutex(nil, True, 'XyZzWw'); if GetLastError = ERROR_ALREADY_EXISTS then begin // se aplicativo já estiver aberto não abre novamente Application.MessageBox('O sistema já está aberto.', 'Sistema Informa', MB_OK + MB_ICONINFORMATION); Exit; end;
Clique aqui para fazer login e interagir na Comunidade :)