AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Fenster wiederherstellen mit SetForeGround
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster wiederherstellen mit SetForeGround

Ein Thema von TUX_der_Pinguin · begonnen am 24. Jun 2008 · letzter Beitrag vom 25. Jun 2008
Antwort Antwort
Seite 2 von 2     12   
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Fenster wiederherstellen mit SetForeGround

  Alt 24. Jun 2008, 14:09
Zitat von Vjay:
Will ja nüscht sagen, aber ich hab dich im Vorthread schon auf forceForegroundWindow und die Suche verwiesen.
Ja das stimmt du hast davon gesprochen, konnte jedoch ersten anlauf nichts darüber Finden. Wenn man nach diesem Begriff sucht findet DP
nichts ob wohl es Beiträge zu diesem Suchbegriff gibt.

Zitat von Vjay:
Also wäre der richtige Weg, der auch funktioniert, mit den Nachrichten das Handle herauszufinden und dann von der startenden Applikation die andere in den Vordergrund zu holen.
Hmm... ich schicke per PostMessage(HWDN_BROADCAST,...) eine Message an alle Fenster darauf hin holt sich das Fenster selbst in den
Vordergrund, wie du das meinst müßte erstmal der Empfänger eine Botschaft zurück schicken damit ich das Handle erhalte um dann das
Fenster in den Vordergrund zuholen oder wie ?

Zitat von Vjay:
ForceForegroundWindow ist halt der unsaubere aber funktionierende Weg.
Unsauber hört sich nicht so toll an, ich mein es funktioniert das ist korrekt, aber wäre es nicht egal ob sich ein Fenster selbst
oder von einem anderen Fenster in den Vordergrund geholt wird. Vorausgesetzt das Fenster stellt sich nicht alle nasenlang in den
Vordergrund das wäre ja wirklich nervig.
  Mit Zitat antworten Zitat
Vjay

Registriert seit: 2. Dez 2003
Ort: Berlin/Eschede
481 Beiträge
 
Delphi 7 Professional
 
#12

Re: Fenster wiederherstellen mit SetForeGround

  Alt 24. Jun 2008, 15:21
Ok ich gebe zu ich habe das mit der DP-Suche jetzt nicht vorher überprüft

Genau so, du kannst doch der aufgerufenen Applikation eine Nachricht zurückliefern, so würde ich das mal versuchen.
Ich würde es daher unsauber nennen, da Microsoft schon dafür gesorgt hat, dass Applikationen, die nicht den Userinput-Fokus haben, sich nicht selber in den Vordergrund holen dürfen - was ich im übrigens absolut begrüsse. Ich mag selber solche Applikationen nicht, die von sich selbst überzeugt sind, dass sie unglaublich wichtig sein müssen.
Wer weiss was im nächsten OS kommt, vielleicht funktioniert forceForegroundWindow dort auch nicht mehr (hat das jemand mal in Vista getestet?
Wer später bremst ist eher tot.
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Fenster wiederherstellen mit SetForeGround

  Alt 25. Jun 2008, 08:33
Ich werde das dann mal ausprobieren das die Anwendung eine Nachricht zurück schickt und darauf hin die 2. Instanz die
erste in den Vordergrund holt. Einen Vista Rechner habe ich zu Testzwecken hier stehen, ich glaube das ForceForeGroundWindow
sollte da auch drauf laufen bin mir nicht sicher ob ich das Gestern getestet habe als ich kurz die Anwendung unter Vista
installiert habe, der Test bezog sich generell auf die Lauffähigkeit unter Vista.
  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 22:36 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