Fórum Abrir somente uma aplicação #308705
11/01/2006
0
Existe algum esquema que eu possa colocar em um programa para que se ele já estiver sendo executado ele não abra em duplicidade?
Obs: eu estou falando do programa (.exe) e não de formulários do mesmo.
Obs: eu estou falando do programa (.exe) e não de formulários do mesmo.
Roberto Rossi
Curtir tópico
+ 0
Responder
Posts
11/01/2006
Marco Salles
Ploblema classico..
Muitas soluçoes...
Mas no meu entendimento a melhor forma foi apresentada aqui no site pelo amigo e então sumido Cybeer.. Esta mesma solução , diga-se de passagem se encontra nas paginas do livro a ´Biblia´ de marco Cantu
Procure por Mutex
Muitas soluçoes...
Mas no meu entendimento a melhor forma foi apresentada aqui no site pelo amigo e então sumido Cybeer.. Esta mesma solução , diga-se de passagem se encontra nas paginas do livro a ´Biblia´ de marco Cantu
Procure por Mutex
Responder
Gostei + 0
11/01/2006
Guilherme
ta ai un exemplo de mutex isso ai vai no source do projeto
program Project1;
uses
Forms,
windows,
sysutils,
dialogs,
Unit1 in ´Unit1.pas´ ;
{$R *.res}
var
mu: tHandle;
begin
Application.Initialize;
mu:=CreateMutex(nil,True,PChar(Uppercase(ExtractFileName(Application.ExeName))));
if (mu = 0) or (GetLastError = error_Already_Exists) then
begin
ShowMessage(´A aplicação já esta rodando ´);
Application.Terminate;
end;
try
Application.Initialize;
Application.Title := ´..:: By Guilherme ::..´;
Application.CreateForm(TForm1, Form1);
Application.Run;
finally
ReleaseMutex (mu);
end;
Application.CreateForm(TForm1, Form1);
Application.Run;
program Project1;
uses
Forms,
windows,
sysutils,
dialogs,
Unit1 in ´Unit1.pas´ ;
{$R *.res}
var
mu: tHandle;
begin
Application.Initialize;
mu:=CreateMutex(nil,True,PChar(Uppercase(ExtractFileName(Application.ExeName))));
if (mu = 0) or (GetLastError = error_Already_Exists) then
begin
ShowMessage(´A aplicação já esta rodando ´);
Application.Terminate;
end;
try
Application.Initialize;
Application.Title := ´..:: By Guilherme ::..´;
Application.CreateForm(TForm1, Form1);
Application.Run;
finally
ReleaseMutex (mu);
end;
Application.CreateForm(TForm1, Form1);
Application.Run;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)