Einzelnen Beitrag anzeigen

SittingDuck

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

Re: 'Windows + D' - Taste austricksen

  Alt 14. Dez 2007, 13:02
Moin Moin ...

Ok, jetzt läuft es mit folgender Routine sowohl unter Win98 bis Vista.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var s: array[0..255] of char;
begin
   GetClassName(GetForeGroundWindow, s, 255);
   if Assigned(AnsiStrPos(s, 'Worker')) then BringAppToFront;
end;
Das Problem war der Befehl 'Application.BringToFront' welcher unter Vista scheinbar nicht immer zuverlässig läuft. Warum das so ist, das entzieht sich meiner Kenntnis. Ich habe etwas experimentiert und heraus gefunden, das man über den Befehl 'AttachThreadInput' z.B. hier zum gewünschten Ziel kommt. Die Routine wurde geringfügig erweitert um 'WorkerA' und auch 'WorkerW' ClassNames zu finden.

Ein 'Active Desktop' hat aus meiner Sicht keinen Einfluss auf die Funktion dieser Timer-Routine und eine Überschneidung mit anderen 'WorkerW'-ClassNames ist mir bisher nicht aufgefallen. Aus meiner Sicht ist dieser Thread beendet. Vielleicht haben die Moderatoren der Code-Lib ja Interesse an dem Ergebnis.

Danke nochmal für Eure Mithilfe ...
Ciao ... SittingDuck
iPhone Backup und mehr: iTwin v3.9 Beta ... Alternative Startleiste: Launcher v3.8 !
  Mit Zitat antworten Zitat