Ele até dá a mensagem de que já esta aberto, mas não consegui fazer ele restaurar a última instância do projeto.
Se alguém puder me ajudar fico grato.
program Teste; uses Forms, Windows, Dialogs, UPrincipal in 'UPrincipal.pas' {FormPrincipal}, UDM in 'UDM.pas' {DataModule1: TDataModule}; {$R *.res} var HprevHist: HWND; begin Application.Initialize; // Evita carga dupla da aplicacao begin HprevHist := FindWindow(Nil, PChar('Teste')); if HprevHist <> 0 then begin ShowMessage('O Teste já está sendo executado em outra janela !'); Application.Terminate; Exit; end; end; ShowWindow(HprevHist,SW_NORMAL); Application.Title := 'Teste'; Application.CreateForm(TFormPrincipal, FormPrincipal); Application.CreateForm(TDataModule1, DataModule1); Application.Run; end.