AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Nachricht an alle Fenster der eigenen Anwendung schicken
Thema durchsuchen
Ansicht
Themen-Optionen

Nachricht an alle Fenster der eigenen Anwendung schicken

Ein Thema von Codehunter · begonnen am 15. Jun 2010 · letzter Beitrag vom 15. Jun 2010
Antwort Antwort
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 09:53
Hallo zusammen,

ist es möglich, per Post/Sendmessage eine Notification so abzusetzen, daß die WndProc aller geöffneten Fenster darauf anspringt? Application.Handle ist ja auch nur das Handle des Hauptformulars (erster Gedanke, schon versucht)

Grüssle
Cody
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 09:58
Alle Top-Level-Fenster der eigenen Anwendung suchen und diese anschreiben.

Alle Fenster, welche bei Application registriert sind (also dieses als Owner besitzen), könntest du über Application auflisten lassen und kämst so sogar direkt an die jeweiligen Fensterklassen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#3

AW: Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 09:59
Nur eine Idee: definiere Dir eine eigene Message (auf die dann natürlich Deine eigenen Fenster reagieren müssen) und verschicke sie an HWND_BROADCAST.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.294 Beiträge
 
Delphi 12 Athens
 
#4

AW: Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 10:06
Nur eine Idee: definiere Dir eine eigene Message (auf die dann natürlich Deine eigenen Fenster reagieren müssen) und verschicke sie an HWND_BROADCAST.
Wenn das Programm zwei mal gestartet ist, würde auch das jeweils andere Programm benachrichtigt werden. Das müsste ggf. abgefangen werden.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
 
Delphi 12 Athens
 
#5

AW: Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 10:13
Man könnte ja in den Parametern eine eindeutige Kennung hinterlegen (ProzessID, Handle des Mainforms etc.), welche sich auf Empfängerseite bequem auswerten und vergleichen lässt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 10:52
Erkläre am besten mal was du vor hast. Ich glaube das wird sonst eine Frickellösung. Denn wirklich an alle Fenster deiner Anwendung die gleiche Nachricht zu schicken macht wenig Sinn da Edits, Panels etc. welche auch als Fenster gelten mit deiner Nachricht am Ende gar nichts anfangen können.
Ich denke es wird eine bessere Lösung für dein Vorhaben geben als an alle Fenster die gleiche Nachrichten zu schicken.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#7

AW: Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 13:18
Alternativ Delphi-Referenz durchsuchenTScreen.Forms, also die globale Variable Screen und deren Eigenschaften Forms[] und FormCount nutzen.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Nachricht an alle Fenster der eigenen Anwendung schicken

  Alt 15. Jun 2010, 13:31
Aber Öffnen- und Speicherdialoge welche ja auch als Fenster zu betrachten sind wären davon wieder nicht betroffen. Daher wäre es sehr interessant zu wissen was der Fragesteller überhaupt bezweckt um die eine oder andere Lösung ausschließen zu können.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:17 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