Appli mono-instance

cs_bib34690 Messages postés 22 Date d'inscription mardi 5 août 2003 Statut Membre Dernière intervention 10 mai 2011 - 5 août 2003 à 09:38
yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008 - 8 août 2003 à 02:18
Je souhaite qu'on ne puisse lancer qu'une seule fois mon appli.
Si on la lance une seconde fois, la 1ere doit revenir au premier plan dans la fenêtre en cours.

J'ai trouvé les exemples sur le forum mais je butte sur un problème : comment réafficher la fenêtre active de l'application, et non le fenêtre principale.
Il faudrait que ça agisse comme ALT-TAB sous Windows.

Exemples :
1) l'application affiche la fenêtre principale puis affiche un message "showmessage". Si je réduit l'appli & clicque à Nvo sur l'appli, ce message doit revenir au premier plan.
2) L'appli afiche la fenêtre principale puis une seconde fenêtre d'options. Si on clicque, cette fenêtre doit revenir au 1er plan.

Merci beaucoup de votre aide.

1 réponse

yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008
8 août 2003 à 02:18
program Project1;

uses
Forms,
Windows,
Unit1{Fiche1};

{$R *.res}
var xxx:THandle;

begin
xxx:= CreateMutex(nil,False,'Projet1');
if WaitForSingleObject(xxx,0)<>wait_TimeOut then
begin
Application.Initialize;
Application.CreateForm(TForm1, form1);
Application.Run;
end else
begin
//????
end;
end.

Bon,si l'application est redémarrer une seconde fois il exécutera la seconde partie du code {else}

peut-être avec l'api je sais pas ,mais ça devrais t'aider un peu ...

Yves
0
Rejoignez-nous