So ... ich nochmal ...
@DGL-luke: Hm ... irgendwie komme ich hier nicht weiter. EnumChildWindows könnte, wenn ich das richtig verstehe auch mehrere 'WorkerW'-ClassNames enthalten. Ich müsste aber gezielt die ClassName finden, welche als Parent den '32769 (Desktop)' hat. Vielleicht habe ich hier aber auch einen Denkfehler ...
Ich beschreibe einfach nochmal in möglichst einfachen Worten was ich gemacht habe und welche Idee ich verfolge: Wenn ich XSpy starte und dann 'Win + D' drücke, dann meldet mir XSpy, das ein Fenster(?) aktiv ist mit dem ClassName 'WorkerW'. Cool, dachte ich mir. Dann frage ich einfach in meiner Timer-Routine ab, wann das der Fall ist und bringe kurz dannach mein Launcher-Fenster nach vorne.
Nun gibt es aber laut XSpy mehrere 'WorkerW'-ClassNames. Bei meinem System mindestens 4, starte ich den Internet Explorer dann gerne auch noch mehr. Die GetClassName-Abfrage läuft, aber wahrscheinlich nur per Zufall, weil die zuerst gefundene ClassName halt gerade die richtige ist. Das würde erklären, warum es unter XP läuft, aber unter Vista leider nicht.
Wie kann ich meine GetClassName-Abfrage präziser machen, wenn ich als einzigen Hinweis von XSpy den Parent '32769 (Desktop)' habe. In einem ähnlichen Thread
hier hat ein anderer
DP'ler mal mit seinen Worten versucht das Problem einzugrenzen. Ich denke mal vom Prinzip her versuchen wir beide das gleiche. Leider ist dieser andere Thread auch noch unbeantwortet, wobei ich mir denke, das diese Routine ein Klassiker für die CodeLib wäre.
Nun ja ... danke erstmal fürs Nachvollziehen und ggf. für Eure Ideen ...