Bonjour à tous et à toute,
J'ai deux éxecutables. Le premier envoie un message, le second le réceptionne.
Celui qui fait la réception est une application MDI.
Ca marche à moitié,
le problème est que dès que j'ai une fenetre fille (dans celui qui réceptionne) et que cette dernière est maximisé, ça ne fonctionne plus.
-----------------------------------------
celui qui envoie un message :
-----------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 var h: THandle; atom_Envoye: Atom; begin Code:='exemple'; atom_Envoye := GlobalAddAtom(PChar(Code)); h := FindWindow(nil, PChar('CeluiQuiReceptionne')); if h = 0 then ShowMessage('CeluiQuiReceptionne est inactif') else SendMessage(h, WM_GO_DEMO, atom_Envoye, 0); end;
celui qui réceptionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 procedure TMainForm.DefaultHandler(var msg); var TexteRecu: PChar; atom_recu: atom; begin if TMessage(msg).Msg = WM_GO_DEMO then begin // le numéro identifiant l'atom se trouve dans WParam atom_recu := TMessage(msg).WParam; GetMem(TexteRecu, 256); GlobalGetAtomName(atom_recu, TexteRecu, 256); //ici on traite TexteRecu... GlobalDeleteAtom(atom_recu); FreeMem(TexteRecu); TMessage(Msg).Result:=200; end else inherited DefaultHandler(Msg); end;
----------------------------------
J'ai aussi essayé avec lemais sans résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part OnMessage
Si quelqu'un a une idée.
Merci à tous et à toute
Partager