GARANTIR DESCONTO

Fórum Evitar abrir 2 vezes o programa #178331

28/08/2003

0

Como faço para evitar que se possa abrir duas ou mais instâncias do meu progrema?


Fmd

Fmd

Responder

Posts

28/08/2003

Carnette

Tirado do 800 Dicas e Truques em Delphi do Lloydsoft
http://www.lloydsoft.hpg.ig.com.br/

132 - Executando uma única cópia do aplicativo Se você quiser executar uma única copia do aplicativo, o código de inicializacao do arquivo fonte do PROJETO pode ser escrito conforme segue: program Project1; uses Forms, Windows, Dialogs, Unit1 in ´Unit1.pas´ ; {$R *.RES} Var HprevHist : HWND; begin Application.Initialize; HprevHist := FindWindow(Nil, PChar(´TheProgrammer´)); if HprevHist = 0 then begin Application.Title := ´TheProgrammer´; Application.CreateForm(TForm1, Form1); Application.Run; end else MessageDlg(´Você não pode executar outra cópia do aplicativo´, mtInformation, [mbOK], 0); Com esse código o usuário pode iniciar uma nova copia do aplicativo somente se não houver outra anterior. Caso contrario é exibido uma mensagem para o usuário.



Responder

Gostei + 0

28/08/2003

Fmd

Valeu carnette, era isso mesmo.


Responder

Gostei + 0

02/09/2015

Felipe Z

Só melhorando a resposta a cima não que esteja errada mais estava faltando algumas coisas

Segue:

no OnCreate

procedure TForm1.FormCreate(Sender: TObject);
Var
HprevHist : HWND;
begin
HprevHist := FindWindow(Nil, PChar('NomedoPrograma'));
if HprevHist = 0 then
Begin
{Seu Codigo}
end
else
Begin
MessageDlg('Você não pode executar outra cópia do aplicativo', mtError, [mbOK], 0);
Halt;
end;
end;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar