executar uma unica vez
alguem sabe como executar uma unica copia do meu projeto. ja achei varios codigos na internet mas nemhun funciona como este:
program Project1;
uses
Forms,
Windows,
Dialogs,
Unit1 in ´Unit1.pas´ ;
{$R *.RES}
Var HprevHist : HWND;
begin
Application.Initialize;
HprevHist := FindWindow(Nil, PChar(´TheProgrammer´));
if HprevHist = 0 then begin
Application.Title := ´TheProgrammer´;
Application.CreateForm(TForm1, Form1);
Application.Run;
end else
MessageDlg(´Você não pode executar outra cópia do aplicativo´, mtInformation, [mbOK], 0);
se alquem poder me ajudar fico grato.
program Project1;
uses
Forms,
Windows,
Dialogs,
Unit1 in ´Unit1.pas´ ;
{$R *.RES}
Var HprevHist : HWND;
begin
Application.Initialize;
HprevHist := FindWindow(Nil, PChar(´TheProgrammer´));
if HprevHist = 0 then begin
Application.Title := ´TheProgrammer´;
Application.CreateForm(TForm1, Form1);
Application.Run;
end else
MessageDlg(´Você não pode executar outra cópia do aplicativo´, mtInformation, [mbOK], 0);
se alquem poder me ajudar fico grato.
Bacharelcomputer
Curtidas 0
Respostas
Massuda
18/11/2004
Isso foi discutido [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=54854]recentemente[/url].
GOSTEI 0
Marco Salles
18/11/2004
Este assunto com certeza ja foi e é largamente discutido no Forum.
Mas acho que o nosso amigo e coloborado [b:625fb0c6bd]cebikyn[/b:625fb0c6bd] deu um basta final no assunto.. Ele sugeriu , a idéia do [b:625fb0c6bd]Mutex[/b:625fb0c6bd]
Parece simplis e muito eficiente:
O Tópico a respeito e :
http://delphiforum.icft.com.br/forum/viewtopic.php?t=36544&highlight=mutex
Saiba mais sobre Mutex em:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createmutex.asp
Mas acho que o nosso amigo e coloborado [b:625fb0c6bd]cebikyn[/b:625fb0c6bd] deu um basta final no assunto.. Ele sugeriu , a idéia do [b:625fb0c6bd]Mutex[/b:625fb0c6bd]
Parece simplis e muito eficiente:
program SecBrunelli;
uses
Forms,
Windows,
Dialogs,
Principal in ´Principal.pas´ ,
DataModule in ´DataModule.pas´ {DMPrincipal: TDataModule},
{ Mais alguns formulários... }
Login in ´..\comum\Login.pas´ ;
{$R *.RES}
begin
CreateMutex(nil, True, ´XyZzWw´);
if GetLastError = ERROR_ALREADY_EXISTS then
Exit;
Application.Initialize;
Application.Title := ´Secretaria Dep. Brunelli´;
Application.CreateForm(TDMPrincipal, DMPrincipal);
Application.CreateForm(TFormPrincipal, FormPrincipal);
Application.Run;
end.O Tópico a respeito e :
http://delphiforum.icft.com.br/forum/viewtopic.php?t=36544&highlight=mutex
Saiba mais sobre Mutex em:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createmutex.asp
GOSTEI 0