Não permitir abrir o executável 1x na mesma máquina
Pessoal, estou tentanto implementar o seguinte código para não permitir que o executável seja aberto + 1x ao mesmo tempo na mesma máquina, mas não está funcionando, se alguém puder me ajudar agradeço desde já.
Var Hwnd : THandle;
begin
Hwnd := FindWindow (´TFrmLogin´, Pchar(´FrmLogin´));
if Hwnd = 0 then begin
Application.Initialize;
Application.CreateForm(TFrmLogin, FrmLogin);
Application.CreateForm(TDm_1, Dm_1);
Application.CreateForm(TFrmPerfil, FrmPerfil);
Application.Run;
end else begin
MessageDlg(´Você não pode executar outra cópia do aplicativo´, mtInformation, [mbOK], 0);
SetForegroundWindow (Hwnd);
end;
Var Hwnd : THandle;
begin
Hwnd := FindWindow (´TFrmLogin´, Pchar(´FrmLogin´));
if Hwnd = 0 then begin
Application.Initialize;
Application.CreateForm(TFrmLogin, FrmLogin);
Application.CreateForm(TDm_1, Dm_1);
Application.CreateForm(TFrmPerfil, FrmPerfil);
Application.Run;
end else begin
MessageDlg(´Você não pode executar outra cópia do aplicativo´, mtInformation, [mbOK], 0);
SetForegroundWindow (Hwnd);
end;
Estanieski
Curtidas 0
Respostas
Bruno Belchior
07/08/2007
Isso já foi discutido aqui várias vezes... Dê uma pesquisada que vai encontrar... De qualquer maneira, veja [url=http://forum.clubedelphi.net/viewtopic.php?t=77814&highlight=mutex]esse[/url] tópico que irá te ajudar...
GOSTEI 0