Ich wollte das ja auch über die Socket-Komponenten lösen, bin aber jetzt dabei mir allen möglichen Code aus dem Forum zusammen zu suchen, mit dem ich das Senden der Nachrichten, welche zu 99% aus Strings bestehen, zu realisieren.
Scheint aber doch nicht sooo einfach wie gedacht, da ich ja erstmal das
Handle des Programmes herausfinden muss, welches ich ansprechen will. Dazu habe ich nun Code gefunden. Dann sende ich mit folgendem Code:
Delphi-Quellcode:
//Senden aus Tool A
TheWindowHandle:=GetWindowHandleByExeName('Programmname.exe');
if TheWindowHandle = 0 then
//wenn das programm noch nicht läuft, starte es
ShellExecute(Application.Handle, 'open' ,PChar((sender as TMenuItem).Hint), nil, nil, sw_ShowNormal);
wparam:=globaladdAtom(pchar(str_param));
lparam:=length(str_param);
SendMessage(TheWindowHandle,WM_User+10,wparam,lparam);
GlobalDeleteAtom(wparam);
//Empfangen in Tool B
procedure TForm1.Receive(var msg:TMessage);
var s:string;
l:cardinal;
begin
ShowMessage('kommt was!');
SetLength(s,msg.lparam);
l:=GlobalGetAtomName(msg.wparam,@s[1],msg.lparam+1);
setlength(s,msg.lparam);
ShowMessage(s);
end;
Leider kommt nichts an...Naja, vielleicht finde ich noch was passendes...