Entwickler-Ecke

Windows API - ShowWindow abfangen / Dialog wird unerwartet sichtbar


schlevoigt - Di 13.07.10 09:24
Titel: ShowWindow abfangen / Dialog wird unerwartet sichtbar
Hallo,

ich habe ein Problem. Unsere Applikation enthält einen Dialog, der offenlichtlich von einer anderen Anwendung sichtbar gemacht wird. Wie, das weiß ich nicht genau, da sich das Problem nicht klar reproduzieren lässt.
Ich vermute, dass irgendeine Windows-Nachricht an das Fensterhandle geschickt wird oder dass ShowWindows() aufgerufen wird.

Hant jemand eine Idee, wie man dass programmintern abfrangen kann?


elundril - Di 13.07.10 09:28

Hallo und :welcome: im DF!

Du könntest den Dialog nicht schon beim Programmstart erzeugen sondern erst dann wenn ihr ihn wirklich braucht.

lg elundril


schlevoigt - Di 13.07.10 10:03

Das geht leider nicht, da darin wichtige Anwendungs logik steckt. Ich weiß, das sollte nicht so sein, ist aber historisch bedingt.


trm - Di 13.07.10 12:36

Prüfe doch mal, ob OnShow trotzdem ausgeführt wird.
Wenn ja, nimm einen Globalen Boolean und setz das Fenster einfach auf -90000,-90000 (Left, Top).

Visible kann man ja (bis Delphi7) nicht im OnShow zuweisen.

Alternativ könntest Du mit dem Boolean versuchen das Fenster per Api-Aufruf zu verstecken.


Edit: Habe das hier gerade noch gefunden, vielleicht hilft es weiter: http://newsgroups.derkeiler.com/Archive/De/de.comp.lang.delphi.misc/2006-12/msg00047.html


elundril - Di 13.07.10 14:14

Oder du überarbeitest dein Konzept. Wenn du Programmcode in einem unsichtbaren Fenster ausführen lässt, hast du da ein bisschen ein Problem würd ich sagen.

lg elundril