Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Handle von Fenster, dass Fokus hat (Systemweit)? (https://www.delphipraxis.net/92440-handle-von-fenster-dass-fokus-hat-systemweit.html)

Evian 19. Mai 2007 20:40


Handle von Fenster, dass Fokus hat (Systemweit)?
 
Hallo Zusammen,

gibt es eine API-Funktion, die mir das Handle des Fensters liefert, dass gerade den Fokus hat (ich meine Systemweit)?
Und ach ja, wie kann ich prüfen, ob eine bestimmte Form meiner Application gerade den Fokus hat?!

liebe Grüße,

Evian

Evian 19. Mai 2007 20:44

Re: Handle von Fenster, dass Fokus hat (Systemweit)?
 
ok zum 2ten habe ich anscheinend schon die Antwort: formx.active ...

SirThornberry 19. Mai 2007 21:33

Re: Handle von Fenster, dass Fokus hat (Systemweit)?
 
könntzest du bitte für die zweite Frage einen eigenen Thread aufmachen?! :-D

bitsetter 19. Mai 2007 22:00

Re: Handle von Fenster, dass Fokus hat (Systemweit)?
 
Hallo,

zur 1. Frage, meinst du etwa sowas?
Delphi-Quellcode:
function GetSysFocus : HWND;
var
  ThreadID, CurrThrId: cardinal;
begin
  Result := 0;
  ThreadID := GetWindowThreadProcessID(GetForegroundWindow, nil);
  CurrThrId := GetCurrentThreadId;
  if ThreadID <> CurrThrId then
  begin
    if AttachThreadInput(ThreadID, CurrThrId, true) then
    begin
      Result := GetFocus;
      AttachThreadInput(ThreadID, CurrThrId, false);
    end;
  end
  else
    Result := GetFocus;
end;
Oder hat ein Fenster im Vordergrund nicht immer den Focus?

Sunlight7 21. Mai 2007 01:07

Re: Handle von Fenster, dass Fokus hat (Systemweit)?
 
Oder meinst Du einfach MSDN-Library durchsuchenGetForegroundWindow?

dusty 25. Jan 2009 14:34

Re: Handle von Fenster, dass Fokus hat (Systemweit)?
 
Wie kann ich herausfinden, um was für eine Element es sich handelt, welches gerade den systemweiten (!) Focus besitzt?
Das Handle habe ich - aber wie kann ich den Namen / den Typ / den Inhalt / die Position auf dem Bildschirm (beispielhaft) herausfinden?
Kurz: ich möchte wissen, welches Element es ist - das Handle allein hilft mir erstmal nicht weiter.

DeddyH 25. Jan 2009 14:38

Re: Handle von Fenster, dass Fokus hat (Systemweit)?
 
GetClassname, GetWindowText, GetWindowRect, GetWindowPlacement. Diese Stichworte sollten zur Eigenrecherche erstmal genügen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 Uhr.

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