如何获取焦点所在控件(在另一应用程序上)的句柄?(100分)

  • 主题发起人 主题发起人 协创软组
  • 开始时间 开始时间

协创软组

Unregistered / Unconfirmed
GUEST, unregistred user!
问题如标题所述,希望各位高手能给个Demo参考参考.
 
怎么没人回答呀?是分太低了吗?还是这个问题太简单了,如分不够再加.
 
2ccc上有代码.
 
用钩子实现吧
 
api函数 getfocus
 
procedure TForm1.Timer1Timer(Sender: TObject);
var
ThreadID: Cardinal;
FocusWindow,FocusControl: HWND;
begin
FocusWindow:= GetForegroundWindow;
ThreadID:= GetWindowThreadProcessId(FocusWindow,nil);
AttachThreadInput(ThreadID,GetCurrentThreadId,True);
FocusControl:= GetFocus;
AttachThreadInput(ThreadID,GetCurrentThreadId,False);
Edit1.Text:= Format('$%8X',[FocusControl]);
end;
 
谢谢各位的帮助.
 
后退
顶部