Fórum Impedir que programa abra 2 vezes #340717

20/04/2007

0

Olá,

Como faço para não permitir que o usuario abra um programa que já está aberto? Ex: o programa está minimizado e o usuario tenta abri-lo novamente. Obrigado.

Luiz


L_carlos

L_carlos

Responder

Posts

20/04/2007

Briciosm

Vá no project / view source.


Veja exemplo abaixo:

begin
HprevHist := FindWindow(Nil, PChar(´admissao_hcaa´));
Application.Title := ´admissao_hcaa´;
//se não foi criado
if HPrevhist = 0 then
begin
Application.Initialize;
Application.CreateForm(Tf_adm_entrada, f_adm_entrada);
Application.Run;
end
else
begin
//não será criado um novo sistema apenas será chamado o que já existe
SetForegroundWindow (HprevHist);
end;
end.


Responder

Gostei + 0

20/04/2007

L_carlos

Olá Bricio,

Está dando erro na primeira linha do codigo - DECLARATION EXPECTED BUT IDENTIFIER HPREVHIST FOUND. Tem que fazer mais algo alem do que vc informou? Obrigado.

Luiz


Responder

Gostei + 0

21/04/2007

Marco Salles

outra saida é [b:a1f88c2176]CreateMutex[/b:a1f88c2176] .

declara na secção usse do seu Arquivo Dpr as Units Forms, Windows, Dialogs

Assim ô :

program NomeDoProgrma; uses Forms, // Inclua ************* Windows, // Inclua ************* Dialogs // Inclua ************* Principal in ´Principal.pas´ , { Mais alguns formulários... } Login in ´..\comum\Login.pas´ ; {$R *.RES} begin CreateMutex(nil, True, ´XyZzWw´); if GetLastError = ERROR_ALREADY_EXISTS then Exit; // bla bla bal.... Application.Run; end.



Responder

Gostei + 0

23/04/2007

L_carlos

Valeu MARCO, Funcionou.

Luiz


Responder

Gostei + 0

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

Aceitar