Impedir que programa abra 2 vezes
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
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
Curtidas 0
Respostas
Briciosm
20/04/2007
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.
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.
GOSTEI 0
L_carlos
20/04/2007
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
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
GOSTEI 0
Marco Salles
20/04/2007
outra saida é [b:a1f88c2176]CreateMutex[/b:a1f88c2176] .
declara na secção usse do seu Arquivo Dpr as Units Forms, Windows, Dialogs
Assim ô :
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.
GOSTEI 0
L_carlos
20/04/2007
Valeu MARCO, Funcionou.
Luiz
Luiz
GOSTEI 0