Buscar

Abrindo aplicação apenas uma vez

Código

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.
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 27/11/06
Por: João Márcio
Visualizada: 3817 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009