Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#11

Re: Kommunikation zwischen mehreren eigenen Tools ... Womit?

  Alt 5. Sep 2007, 12:26
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...
Danke
Tom
  Mit Zitat antworten Zitat