Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Thread zum Fangen von Messages (https://www.delphipraxis.net/8092-thread-zum-fangen-von-messages.html)

Phoenix 28. Aug 2003 13:41


Thread zum Fangen von Messages
 
Hallöchen Allerseits!

Mir stellt sich folgendes Problem:
Ich habe eine Anwendung, die ab und an spezielle Windows-Messages schickt (WM_COPYDATA).

Diese sollen von einer anderen Anwendung aufgelesen und bearbeitet werden. Da der Empfang der Daten Zeitkritisch ist (nicht die Bearbeitung), soll das Empfangen der Daten in einem thread geschehen, der die Daten dann auf das MainForm des Empfängerprogrammes schiebt.

Da der Thread jedoch keine Messageloop besitzt, kann er auch keine Messages empfangen. Wie bekomme ich den Thread am geschicktesten (as simple as possible) dazu, einfach so lange still zu sein und möglichst wenig zu arbeiten bis ein WM_COPYDATA ankommt?

Schonmal Danke,

Sebastian

Luckie 28. Aug 2003 13:47

Re: Thread zum Fangen von Messages
 
Liste der Anhänge anzeigen (Anzahl: 1)
Thread mit MessageLoop im Anhang.

neolithos 28. Aug 2003 13:47

Re: Thread zum Fangen von Messages
 
Beispiel:

thread.Execute;
begin
per registerwindow und createwindow ein unsichtbares fenster erstellen
while not GetMessage(msg, 0, 0, 0) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
end;

- Achtung: WM_QUIT beachten
- besser als GetMessage wäre Getmessage kompiniert mit MsgWaitForMultipleObjects


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 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