Utiliser les messages windows pour gerer le nombre d'instances

Soyez le premier à donner votre avis sur cette source.

Vue 4 470 fois - Téléchargée 468 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

Messages postés
256
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.
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
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
28
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.