Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String senden an ein anderes Programm??? (https://www.delphipraxis.net/67136-string-senden-ein-anderes-programm.html)

romber 10. Apr 2006 08:38


String senden an ein anderes Programm???
 
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!

inherited 15. Apr 2006 15:38

Re: String senden an ein anderes Programm???
 
machs doch über UDP oder TCP^^,
das ist zwar dämlich, aber einfach

MrKnogge 15. Apr 2006 15:40

Re: String senden an ein anderes Programm???
 
Schau dir doch mal JvOneInstance von den Jedi-Komponenten an, die können dies unter anderem auch.

Luckie 15. Apr 2006 18:11

Re: String senden an ein anderes Programm???
 
Zitat:

Zitat von romber
Es funktioniert aber nicht, wenn das Ziel-Programm in der Taskleiste minimiert ist.

Das kann ich mir ehrlich gesagt nicht vorstellen. Mach mal eine kleine Demo zum Ausprobieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz