Fórum Não Abrir o mesmo executavel #283044
26/05/2005
0
Luisjunior
Curtir tópico
+ 0Posts
27/05/2005
Steve_narancic
Gostei + 0
27/05/2005
Facc
Como eu uso essa função?
Gostei + 0
27/05/2005
Steve_narancic
if FindWindow(Nil,´Nome do Programa´) = 0 then begin //Executa end else MessageDlg(´O Sistema já está (ou ainda está) sendo Executado. Verifique !!!´, mtInformation, [mbOK], 0);
Gostei + 0
27/05/2005
Vagner.oliveira
em qual momento do programa ?
tenho outra dúvida uso um form_splash, como posso usá-lo ?
Gostei + 0
27/05/2005
Marco Salles
[b:b4bac00295]Create Mutex[/b:b4bac00295]
Inclua no seu Arquivo Dpr Principal a Segunte Instrução :
CreateMutex(nil, True, ´XyZzWw´); if GetLastError = ERROR_ALREADY_EXISTS then Exit;
exemplo:
program NomeDoProgrma;
uses
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
27/05/2005
Vagner.oliveira
[b:d23d63d316]CreateMutex[/b:d23d63d316]
nem a
[b:d23d63d316]ERROR_ALREADY_EXISTS[/b:d23d63d316]
Gostei + 0
27/05/2005
Vetorzero
É isto.
Augusto Vieira
program Sobenca;
uses
Forms,
Windows,
fMenu in ´fMenu.pas´ ,
fCadastro in ´fCadastro.pas´ ,
fAssociados in ´fAssociados.pas´ ,
fCritica in ´fCritica.pas´ ,
fBoletasR in ´fBoletasR.pas´ ,
fBoletasOpte in ´fBoletasOpte.pas´ ;
{$R *.RES}
var SpSenha : TF_Senha;
Handle : THandle;
begin
Handle := CreateMutex(nil,True,´TF_Menu´);
if GetLastError = ERROR_ALREADY_EXISTS then begin
Application.MessageBox(´Este programa já está aberto !´, ´Atenção !´, mb_Ok);
if not IsWindowVisible(Handle) then begin
ShowWindow(Handle, SW_RESTORE);
SetForegroundWindow(Handle);
end;
if Handle <> 0 then CloseHandle(Handle);
exit;
end;
Application.Initialize;
SpSenha := TF_Senha.Create(Application);
Application.Title := ´Sobenca´;
Application.CreateForm(TF_Menu, F_Menu);
Application.CreateForm(TF_Importa, F_Importa);
Application.CreateForm(TF_Senha, F_Senha);
Application.CreateForm(TF_Rotinas, F_Rotinas);
Application.CreateForm(TF_Exporta, F_Exporta);
Application.CreateForm(TF_Critica, F_Critica);
SpSenha.ShowModal;
SpSenha.Close;
SpSenha.Free;
Application.Run;
end.Gostei + 0
27/05/2005
Marco Salles
Assim corrija:
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
14/06/2005
Aurino003
Funciona perfeitamente.
Obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)