AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Prüfen, ob ein Fenster "echt" im Vordergrund ist
Thema durchsuchen
Ansicht
Themen-Optionen

Prüfen, ob ein Fenster "echt" im Vordergrund ist

Ein Thema von tofse · begonnen am 7. Mai 2012 · letzter Beitrag vom 7. Mai 2012
Antwort Antwort
tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
131 Beiträge
 
Delphi XE Professional
 
#1

Prüfen, ob ein Fenster "echt" im Vordergrund ist

  Alt 7. Mai 2012, 13:52
Hallo,
von meinem Programm aus muss die Suchfunktion eines externen Programmes gesteuert werden. Ich gehe so vor:

1) Ich durchsuche zunächst die Fenstertitel, um zu prüfen, ob das externe Programm überhaupt geöffnet ist
2) Ist es geöffnet, hole ich es in der Vordergrund
Code:
SendMessage(iHandle, WM_SYSCOMMAND, SC_RESTORE, iHandle);
SetForegroundWindow(iHandle);
3) Danach kommen ein paar simulierte Tastendrückereien...F3, TAB, TAB, STRG-V, ENTER

Klappt alles wunderbar, wenn das Programm in den Vordergrund geholt werden kann.

Nun das Problem: in diesem Programm können Unterformulare geöffnet werden, die immer im Vordergrund bleiben, sobald das Programm aktiviert wird. In diesem Falle würden meine simulierten Tastenkombinationen zu unschönen Ergebnissen führen.

Also müsste ich irgendwie prüfen, ob wirklich das "Hauptfenster" des Programmes den Fokus hat, oder ein unerwünschtes Unterformular.
Geht das? Ich könnte natürlich eine Negativliste der unerwünschten Fenstertitel führen, aber das wäre doch sehr umständlich und aufwändig.

Grüße
Christof
  Mit Zitat antworten Zitat
tofse

Registriert seit: 6. Jun 2011
Ort: Saarlouis
131 Beiträge
 
Delphi XE Professional
 
#2

AW: Prüfen, ob ein Fenster "echt" im Vordergrund ist

  Alt 7. Mai 2012, 14:12
Selber beantwortet
Nach SetForegroundWindow(iHandle) vergleiche ich iHandle nochmal mit GetForegroundWindow. Wenn es ungleich ist, dann ist das gewünschte Programm nicht im Vordergrund.
  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 06:57 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