Cum să obțineți mânerul ferestrei care are focalizarea intrare

Cum să obțineți mânerul ferestrei care are focalizarea?

GetFocus - doar procesul meu. (
GetForegroundWindow - returnează fereastra principală.
Dacă acest câmp de intrare casetă în care cursorul este - cum să-l ocupe?
Am nevoie de ceva de genul GetFocus, ci pentru întregul sistem.

Probabil că nu sunt întrebat foarte clar.
Am nevoie pentru a obține hWnd a ferestrei care are focalizarea tastaturii.
GetWindowFromPoint - cum mă poate ajuta?

încerca
AttachThreadInput, apoi GetFocus


Funcția GetFocusedWindow: HWND;
var
CurrThID, ThID: DWORD;
începe
Rezultatul: = GetForegroundWindow;
dacă rezultatul <> 0 atunci
începe
CurrThID: = GetCurrentThreadId;
ThID: = GetWindowThreadProcessId (rezultat, // mâner la fereastra
zero // identificator de proces
);
Rezultatul: = 0;
în cazul în care AttachThreadInput (CurrThID, ThID, Adevărat) atunci
începe
Rezultatul: = GetFocus;
AttachThreadInput (CurrThID, ThID, fals);
se încheie;
se încheie;
se încheie;

Vă mulțumesc foarte mult, troits, am făcut deja asta.
În general, atunci, din moment ce există o 98 F-I: GetGUIThreadInfo
Cu ei este mai ușor.
Cu toate acestea, în timp ce aceasta nu funcționează :))))
Hadley sau la stânga, sau chiar 0 / nule. Sap.
Konkektno pianul, mă întorc întotdeauna 0. (((

Windows XP, delphi 5

> Deus
Ei bine, așa că întotdeauna;)
Sunt de acord, nu iau în considerare cazul în care fereastra activă în asteptare fir-e (Atunci AttachThreadInput returnează false)

Aici este versiunea corectată. Am totul de lucru (Win2k Delphi 5.0)

Funcția GetFocusedWindow: HWND;
var
CurrThID, ThID: DWORD;
începe
Rezultatul: = GetForegroundWindow;
dacă rezultatul <> 0 atunci
începe
CurrThID: = GetCurrentThreadId;
ThID: = GetWindowThreadProcessId (rezultat, // mâner la fereastra
zero // identificator de proces
);
Rezultatul: = 0;
dacă CurrThID = ThId atunci
Rezultatul: = GetFocus
altfel
începe
în cazul în care AttachThreadInput (CurrThID, ThID, Adevărat) atunci
începe
Rezultatul: = GetFocus;
AttachThreadInput (CurrThID, ThID, fals);
se încheie;
se încheie;
se încheie;
se încheie;

Da, exact, funcționează!
Vă mulțumesc foarte mult!

Memorie: 0.72 MB
Timpul: 0.027 c