Da definierst du dir einfach erstmal eine eigene Message
const WM_myMSG=WM_USER+1
Ab WM_USER ist dein Bereich, da kannst du dich austoben und eigene Messages definieren, da reagiert dann auch kein anderes Control drauf.
Bekommen und auswerten tust du diese Message so:
Delphi-Quellcode:
//Programm A
type TForm1=class(TForm)
//...
private
procedure irgendetwas(var Msg:TMessage);message WM_myMSG;
end;
//...
procedure TForm1.irgendetwas(var Msg:TMessage);
begin
//hier hast du jetzt lparam und wparam
if msg.LParam= //...
if msg.Wparam
msg.result:=712; //hier kannst du irgendetwas zurückgeben
end;
Eine Message an TForm1 verschicken geht mit:
Delphi-Quellcode:
//Programm B (hier muss das Handle von Tform1 aus Programm A bekannt sein)
r:=sendmessage(
Handle,WM_user+1,0,0);
//kannst natürlich hier auch für wm_user+1 eine Konstante festlegen
//in r steht jetzt das msg.result
Achtung: Bei sendmessage wartet Programm B bis A fertig ist mit dem abarbeiten der Funktion. Wenn das nicht gewünscht ist nimm Postmessage (dann kriegst du aber kein result)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.