Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 14 de Janeiro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
60 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Dicas]  Abrindo aplicação apenas uma vez
Publicado por ActiveDelphi : Sexta, Junho 30, 2006 - 10:40 GMT-3 (3966 leituras)
Comentários 1 Comentário   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Gustavo Frassini 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



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: herry2009 (edleyrocha@hotmail.com) : Jan 21, 2010 - 02:32
(Informações sobre o membro | Enviar uma mensagem) http://http://
Amigo seguinte .. estou usando delphi 2010 fui seguindo sua explicaçao no meu projeto mas nao funcionou ... Mas apos COMENTAR a linha
// Application.MainFormOnTaskbar := True;

ficou blz veja . Poderia me informar para que serve esta linha, Alguem ja ouviu falar ?


nao esquecendo MUITO OBRIGADO pela dica ok
..


program P_projeto;

uses
Forms,
Windows,
U_principal in 'U_principal.pas' {frm_principal},
U_data_module in 'U_data_module.pas' {DataModule1: TDataModule};

var
Hand : THandle;

{$R *.res}

begin
Hand := FindWindow('TApplication', 'TurboNET 2010 v1.0');
if Hand = 0 then

begin
Application.Initialize;
Application.Title := 'TurboNET 2010 v1.0';
// Application.MainFormOnTaskbar := True;
Application.CreateForm(Tfrm_principal, frm_principal);
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;
end
else
ShowWindow(Hand,SW_NORMAL);

end.

  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados