Utiliser les messages windows pour gerer le nombre d'instances

Soyez le premier à donner votre avis sur cette source.

Vue 4 386 fois - Téléchargée 426 fois

Description

Un morceau de code qui permet de gerer le nombre d'instances de vos applications,
l'idée est d'envoyer un message informant l'application en cours d'execution,cette derniere traite la demande et elle peut l'accepter comme elle ne l'accepte pas....
c'est un peu bete mais sa sera bon,

Source / Exemple :


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
    procedure DefaultHandler(var Msg);override;
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;
  MessageSys:UINT;

implementation

{$R *.dfm}

procedure TForm1.DefaultHandler(var Msg);
begin
  inherited DefaultHandler(Msg);
  if TMessage(Msg).Msg=MessageSys then
    case TMessage(Msg).WParam of
      0:if TMessage(Msg).LParam<>Application.Handle Then
          //if MessageDlg('New Instance is about to start,Start it?',mtConfirmation,[mbYes,mbNo],0)=mrNo then
            begin
              SendMessage(HWND_BROADCAST,MessageSys,1,application.Handle);
            end;
      1:if TMessage(Msg).LParam<>Application.handle then
          begin
            application.Terminate;
          end;
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  MessageSys:=RegisterWindowMessage('MsgOneInst12');
  SendMessage(HWND_BROADCAST,MessageSys,0,Application.Handle);
end;

end.

Conclusion :


j'accepte vos commentaires et vos corrections

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

HAFTARIFOUAD
Messages postés
298
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
6 janvier 2011
-
Bonjour Mr LOTFI ;-)

vu que c'est votre premier code, je dirai: trés bien et bonne continuation.
lotfi213_b19
Messages postés
36
Date d'inscription
dimanche 31 décembre 2006
Statut
Membre
Dernière intervention
31 juillet 2010
-
merci pour la remarque,mais c'est mon premier code
cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24 -
Nous aussi on accepte les commentaires...mais dans le code :o)
Un peu d'explications ne nuit jamais.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.