Veja nessa dica do colunista Gustavo Frassini, como abrir a aplicação somente uma vez, evitando que o usuário abra novamente após minimizá-la, por exemplo:
Olá amigos!
Primeiro crie um novo projeto, vá ao menu View, Units (CTRL + F12) e selecione a unit do projeto (Project1). O código inicial será assim:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Para que o programa se abra somente uma única vez, façamos as seguintes alterações:
program Project1;
uses
Forms,
Windows, // Declaração da biblioteca Windows;
Unit1 in 'Unit1.pas' {Form1};
var
Hand : THandle;
// Criamanos uma variável tipo handle,
// que irá gravar se a aplicação já está aberta.
{$R *.RES}
begin
Hand := FindWindow('TApplication', 'GustavO - ActiveDelphi');
// Localiza se já existe a aplicação.
if Hand = 0 then
// Se ainda não existe, inicializada
begin
Application.Initialize;
Application.Title := 'GustavO - ActiveDelphi';
// Definindo o título da aplicação tratado acima.
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
ShowWindow(Hand,SW_NORMAL);
//caso contrario, apenas mostra na tela;
end.
Agora é só executar a aplicação!
Abraços...
Gustavo Frassini
Contato: gustavocco@yahoo.com.br ou
gustavo@topsystem.com.br
|