AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie sicher ist wm_copydata

Ein Thema von norwegen60 · begonnen am 18. Mai 2022 · letzter Beitrag vom 23. Mai 2022
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#11

AW: Wie sicher ist wm_copydata

  Alt 22. Mai 2022, 20:08
Du hast ja die Qual der Wahl, wobei nur EINWAS ewig wartet (außer es läuft im selben Thread, wie das Ziel).

PostMessage
PostThreadMessage

SendMessage
SendMessageTimeout
SendMessageCallback **
SendNotifyMessage

Und neben WM_COPYDATA gibt es auch noch Anderes, um Daten zu übergeben.
WM_SETTEXT/SendTextMessage und drüben in einem unsichtbaren Windows auf WM_SETTEXT reagieren. (nur die #0000 darf da nicht vorkommen, aber dafür gibt es ja Lösungen)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (22. Mai 2022 um 20:10 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.938 Beiträge
 
Delphi 12 Athens
 
#12

AW: Wie sicher ist wm_copydata

  Alt 22. Mai 2022, 20:41
Ah, danke für die neueren Sendmessage Varianten, die kannte ich noch nicht!
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
701 Beiträge
 
Delphi 12 Athens
 
#13

AW: Wie sicher ist wm_copydata

  Alt 23. Mai 2022, 11:23
Nur: SendMessage wartet, bis der Empfänger die Botschaft verarbeitet hat.
Falls das empfangende Programm aber irgendwie in eine Endlosschleife geraten sein sollte
wäre dann auch der Sender blockiert, was vermutlich nicht gewünscht wäre...
Deshalb sollte man auch SendMessageTimeout verwenden wenn der Addressat in einem anderen Prozess lebt...
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.048 Beiträge
 
Delphi 12 Athens
 
#14

AW: Wie sicher ist wm_copydata

  Alt 23. Mai 2022, 12:32
Oder SendMessageCallback, falls man das Ergebnis braucht, aber nicht warten möchte,
oder SendNotifyMessage, was so ähnlich wie PostMessage nicht auf die Ausführung wartet.

Beim SendNotifyMessage weiß ich jetzt aber nicht, ob es nur auf das Ende nicht wartet, aber vielleicht darauf, ob die Verarbeitung anfängt.
Das wäre von Interesse, falls schon vorher eine andere Message dort hängt.
Im Delphi z.B. der Fall, wenn eine Exception in einer vorherrigen Message auftrag, wo jene Message erst beendet wird, wenn jemand den Fehlerdialog schießt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (23. Mai 2022 um 12:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:28 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