关于网友提出的“ 请问怎么获取光标所在的控件子窗体的句柄”问题疑问,本网通过在网上对“ 请问怎么获取光标所在的控件子窗体的句柄”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请问怎么获取光标所在的控件子窗体的句柄描述:
GetFocus只能获取自己的控件(子窗体)的句柄。我要获取的是其他窗体的子窗体(控件)的句柄?
请问该怎么实现
解决方案1:
function CrnGetActiveWindow: THandle;
var
hForeWin, hFocusWin: THandle;
dwThreadId: DWORD;
begin
hForeWin := GetForegroundWindow();
dwThreadId := GetWindowThreadProcessId(hForeWin, nil);
if AttachThreadInput(GetCurrentThreadId, dwThreadId, True) then
begin
hFocusWin := GetFocus();
AttachThreadInput(GetCurrentThreadId, dwThreadId, False);
Result := hFocusWin;
end
else
Result := GetFocus();
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
szClass: array[0..255] of char;
begin
GetClassName(CrnGetActiveWindow, szClass, 255);
Edit1.Text := String(szClass);
end;