Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Rausfinden welches Fenster den Focus hat (https://www.delphipraxis.net/173867-rausfinden-welches-fenster-den-focus-hat.html)

DelTurbo 21. Mär 2013 12:27

Rausfinden welches Fenster den Focus hat
 
Hi,
ich versuche grade rauszufinden welches Fenster auf dem Desktop den Focus hat, oder einfach von der ZAchse her oben liegt. Es handelt sich nicht um ein Fenster von der Delphiapplikation die ich grade schreibe, sondern von einem "Fremdprogramm".

Danke im voraus

DeddyH 21. Mär 2013 12:36

AW: Rausfinden welches Fenster den Focus hat
 
MSDN-Library durchsuchenGetGUIThreadInfo sollte Dir weiterhelfen.

DelTurbo 21. Mär 2013 12:57

AW: Rausfinden welches Fenster den Focus hat
 
Hmm, bekomme ich nicht hin. So habe ich das nun versucht. Mit WinSpy schaue ich dann ob das Handle stimmt. Stimmt aber leider nicht :(
Was mache ich falsch?

Delphi-Quellcode:
  rs : TGUITHREADINFO;
begin
  GetGUIThreadInfo(0,rs);
  WriteLn(rs.hwndFocus);
  WriteLn(rs.hwndActive);

DeddyH 21. Mär 2013 13:00

AW: Rausfinden welches Fenster den Focus hat
 
Ich habe es so probiert, das sah erst einmal schlüssig aus:
Delphi-Quellcode:
procedure TfrmTest.Timer1Timer(Sender: TObject);
var
  Info: TGuiThreadInfo;
  s: string;
begin
  Info.cbSize := SizeOf(Info); //<-- Nicht vergessen !!
  if GetGUIThreadInfo(0, Info) then
    begin
      SetLength(s, SendMessage(Info.hwndActive, WM_GETTEXTLENGTH, 0, 0));
      SendMessage(Info.hwndActive, WM_GETTEXT, Length(s) + 1, lParam(PChar(s)));
      Label1.Caption := s;
    end;
end;

DelTurbo 21. Mär 2013 13:06

AW: Rausfinden welches Fenster den Focus hat
 
Das geht... Tausend dank!!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz