Evitar que sua aplicação seja executado duas vezes ao mesmo tempo

Algoritmo para que sua aplicação não seja aberta varias vezes ao mesmo tempo

Após sua aplicação criada,  antes da ultima compliação uze o algoritmo abaixo, para sua aplicação ou seja seu arquivo executavel não seja aberto varias vezes ao mesmo tempo
var
  handle: Thandle;


begin
   handle := FindWindow(''TfrmPrincipal'',nil);
   if Handle<>0 then
begin
    application.MessageBox(''Sistema, ja esta em execução. A cópia'' +
    '' anterior será desativada.'',''sistema em execução'', mb_ok);
   if not ISWindowVisible(Handle) then
    showWindow (handle, sw_restore);
   setForegroundWindow(handle);
  application.Terminate;
 end;
 begin
 application.Initialize;
 application.Createform(TfrmPrincipal, frmPrincipal);
 application.Run;
 end


Grato
 
Diogenes Dourado

 

Artigos relacionados