jbanety
Messages postés30Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention30 juin 2011
-
23 déc. 2003 à 15:53
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008
-
23 déc. 2003 à 21:44
Salut, j'ai beaucoup cherché moi même je n'y arrive pas, ce que je voudrais faire c'est inscrire du texte dans un memo d'une fenêtre qui ne fait pas parti de mon programme :)
Alors si vous savez comment faire, laissez moi un message
yvemoreau
Messages postés308Date d'inscriptionmardi 11 juin 2002StatutMembreDernière intervention26 septembre 2008 23 déc. 2003 à 21:41
il faut au départ que les 2 application soit bâtient pour se comprendre question code
1-l'application qui envoi le message
unit unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls,Forms,Dialogs,StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
UserMessage: UINT;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
UserMessage := RegisterWindowMessage(
'System Wide User Defined Message');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ReturnValue: LRESULT; //le resultat de SendMessage
begin
ReturnValue := SendMessage(FindWindow('TForm1','captiondelaFenetre'),UserMessage, x, y);
{
ici on doit se bâtir un code de commande
- x :Integer commande à envoyer au memo
1-memo.clear;
2-memo.add(char(y))
3-memo.append('') donc simple ajout de ligne
- y :le caractère à écrire (on devra nécessairement envoyer plusieur message ou avoir dans l'application receveur une banque de strings que l'on fera afficher .
}
end;
end.
2-l'application qui reçoi le message
unit unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs,StdCtrls, ExtCtrls;
var
UserMessage: UINT;
procedure TForm1.DefaultHandler(var Msg);
begin
inherited DefaultHandler(Msg);
if (TMessage(Msg).Msg=UserMessage) then
begin
case(TMessage(Msg).WParam)of
1:begin
memo1.Clear;
ReplyMessage(1);
end;
2:begin
memo1.Lines.Add(char(TMessage(Msg).LParam));
ReplyMessage(2);
end;
3:begin
memo1.Lines.Append('');
ReplyMessage(3);
end;
4:;
5:;
end;
Timer1.Enabled := TRUE;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
UserMessage := RegisterWindowMessage(
'System Wide User Defined Message');
Form1.caption:='captiondelaFenetre';
//doit correspondre avec l'envoyeur
end;
procedure TForm1.Timer1Timer(Sender: TObject);// 1 seconde
begin
Timer1.Enabled := FALSE;
end;
end.
sinon je sais vraiment pas !!!
bonne chance ;)
yve