Fórum Abrir 1 vez o programa só! #171153

24/07/2003

0

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

Responder

Posts

24/07/2003

Ivonei

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.


Responder

Gostei + 0

24/07/2003

Fer

Valeuuuuu !!! =))


Responder

Gostei + 0

24/07/2003

Ivonei

Valeuuuuu !!! =))


Precisando, tamos aí :D


Responder

Gostei + 0

24/07/2003

Fer

opa num deu certo =((


Responder

Gostei + 0

24/07/2003

Vmotta

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>


Responder

Gostei + 0

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

Aceitar