Hallo,
es ist eigentlich ein Windows-Problem. Ich arbeite aber mit Delphi (7), daher stelle ich die Frage erstmal hier:
Meine Applikation erzeugt einen Thread. Dieser erzeugt ein OLE-Objekt (nach Aufruf von CoInitializeEx). Beim Zugriff auf das OLE-Objekt kann es sein, dass dieses ein Fenster erzeugt und anzeigt, wo der Benutzer Eingaben machen soll (zB. ein Datei-öffnen-Dialog).
Mein Problem: Dieses „OLE-Fenster“ bleibt beim ersten Aufruf der Funktion im Hintergrund, mein Anwendungsfenster bleibt im Vordergrund. Wenn ich das „OLE-Fenster“ mal durch anklicken mit der Maus in den Vordergrund gebracht habe, wieder schließe, und später nochmal die OLE-Funktion aufrufe, die das Fenster öffnet, DANN erscheint das Fenster wie gewünscht vorne.
Wie kann ich es erreichen, dass das OLE-Fenster auch bei der ersten Anzeige in den Vordergrund gesetzt wird?
(
ich hatte mal mit SetWindowsHookEx experimentiert, für WH_CALLWNDPROC und WH_SHELL, aber die Callback-Prozedur ist nie aufgerufen worden )
LG
Jochen