AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Auf Eigenschaften eines Objektes zugreifen mit ObjektHandle
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Eigenschaften eines Objektes zugreifen mit ObjektHandle

Ein Thema von SimStar001 · begonnen am 6. Okt 2008 · letzter Beitrag vom 14. Aug 2009
 
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#12

Re: Auf Eigenschaften eines Objektes zugreifen mit ObjektHan

  Alt 14. Aug 2009, 05:34
Die Funktionen die du brauchst sind IsWindowVisible und GetWindowPlacement.

GetWindowPlacement hat in der WINDOWPLACEMENT-Struktur den Parameter showCmd. Damit kannst du ermitteln, ob das Fenster normal = 1, minimiert = 2 oder maximiert = 3 ist.

Mit der von dir schon genannten Funktion IsWindowVisible kannst du ermitteln, ob das Fenster sichtbar = 1 oder unsichtbar = 0 ist.

Zitat von LokutusvB:
Wie kann es sein, das IsWindowVisible(hwnd) False zurückgibt, obwohl ich das Fenster direkt vor mir auf dem Bildschirm sehe? Das Handle scheint zu stimmen, mit SetForegroundWindow(hwnd) setzt es mir genau dieses Fenster wieder in den Vordergrund.
Das Problem kenne ich von vor laaaanger, laaaanger Zeit. Dafür gibt es einige Gründe. Alle laufen darauf hinaus, dass das Handle nicht wirklich stimmt. Zum Beispiel hatte ich das Handle von einem weiteren Fenster des fremden Programms erwischt, das unsichtbar im Hintergrund läuft, oder ich hatte das Taskbar-Fenster erwischt, oder zwar schon das richtige Fenster, aber dann nicht das Parentfenster sondern ein Control oder einen Container auf dem Fenster, oder ...

Probier den Code vielleicht erstmal an einem kontrollierbarem Programm aus. Erstell dir zum Beispiel schnell mal selbst ein einfaches Testprogramm mit einem Fester, einem Button, einem Edit-Control, ...

Guido.

Edit:
Hätte ich beinahe vergessen: Wenn du zum Beispiel das Handle des Taskbar-Fensterchens oder eines unsichtbaren Hilfsfensters (des fremden Programms) erwischt hast, kommt mit SetForegroundWindow(hwnd) natürlich auch das eigentliche Fenster in den Vordergrund.
  Mit Zitat antworten Zitat
 


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 02:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz