Einzelnen Beitrag anzeigen

romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

String senden an ein anderes Programm???

  Alt 10. Apr 2006, 09:38
Hallo!

Ich möchte ein String an ein anderes Programm senden. Ich habe bei den Schweizern ein SendMessage-Beispiel dafür gefunden. Es funktioniert aber nicht, wenn das Ziel-Programm in der Taskleiste minimiert ist. Wie kann ich es so machen, das die Nachricht in jedem Fall empfangen wird?

Senden:

Delphi-Quellcode:
procedure StringSenden(aStr: string);
var
  aCopyData: TCopyDataStruct;
  hTargetWnd: HWND;
  ProcID: Cardinal;
begin
with aCopyData do
 begin
   dwData := 0;
   cbData := StrLen(PChar('#' + aStr)) + 1;
   lpData := PChar('#' + aStr);
 end;
 hTargetWnd := FindWindowEx(0, 0, nil, PChar('Verwaltung'));
 if hTargetWnd <> 0 then
 SendMessage(hTargetWnd, WM_COPYDATA, Longint(Application.Handle), Longint(@aCopyData))
end;
Empfangen:

Delphi-Quellcode:
procedure TfrmMain.ReadMessage(var Msg: TWMCopyData);
var
  sText: array[0..256] of Char;
begin
  StrLCopy(sText, Msg.CopyDataStruct.lpData, Msg.CopyDataStruct.cbData);
  if (length(sText) > 1) and (pos('#', sText) > 0) then
  ...
end;
Wie soll ich die Code in meinem Fall ändern? Danke!
  Mit Zitat antworten Zitat