Einzelnen Beitrag anzeigen

SittingDuck

Registriert seit: 11. Jan 2006
Ort: Leverkusen
159 Beiträge
 
Delphi 2010 Professional
 
#5

Re: 'Windows + D' - Taste austricksen

  Alt 10. Dez 2007, 10:22
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 ...
Ciao ... SittingDuck
iPhone Backup und mehr: iTwin v3.9 Beta ... Alternative Startleiste: Launcher v3.8 !
  Mit Zitat antworten Zitat