Abrir 1 vez o programa só!

Delphi

24/07/2003

Ola as vezes meu cliente clica um monte vez no atalho para abrir meu programa, dai abre varios programas, tem como barrar isso?

Valew


Fer

Fer

Curtidas 0

Respostas

Ivonei

Ivonei

24/07/2003

Veja se é isto: :)

program Project1;

uses
Forms,
Windows,
Unit1 in ´Unit1.pas´ ;

{$R *.RES}

// Declare a variavel
var
Hwnd : THandle;

begin
// FindWindow vai procurar pela classe TApplication
// que tenha o nome do Title que vc configurou
Hwnd := FindWindow(´TApplication´, ´Teste´);

// se o Handle e´ 0 significa que nao encontrou
if Hwnd = 0 then
begin
Application.Initialize;
// Esta linha e´ colocada automaticamente pelo Delphi
// ao se configurar o Title
Application.Title := ´Teste´;
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
// Esta funcao traz para frente (da o foco) para a janela
// da aplicacao que ja esta rodando
SetForegroundWindow(Hwnd);
end.


GOSTEI 0
Fer

Fer

24/07/2003

Valeuuuuu !!! =))


GOSTEI 0
Ivonei

Ivonei

24/07/2003

Valeuuuuu !!! =))


Precisando, tamos aí :D


GOSTEI 0
Fer

Fer

24/07/2003

opa num deu certo =((


GOSTEI 0
Vmotta

Vmotta

24/07/2003

Acrescente essas linha em seu .dpr ok?

begin
// acrescente essas 3 linhas:
if FindWindow(nil, ´Nome do Seu Sistema´) = 0 then
begin
Application.Title := ´Nome do Seu Sistema´;


Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;

// acrescente essas 3 linhas:
end
else
MessageDLG(´Sistema já foi iniciado.´, mtError, [mbok],0);
end.


não se esqueça de declarar na uses as seguintes units:
- Dialogs
- Windows

Qq coisa me manda um e-mail, e eu te mando um exemplo de volta ok?
T+
Vitor <vmotta@eep.br>


GOSTEI 0
POSTAR