你试一下下面的吧,不一定都行。
function IsEdit(Handle: HWND): boolean;
begin
if SendMessage(Handle, WM_Char, 65, 0) <> 0 then
Result := True
else
Result := False;
end;
function GetSysFocus: Integer;
var
hFgWin, FgThreadID, hFocusWin: Integer;
begin
hFgWin := GetForegroundWindow;
FgThreadID := GetWindowThreadProcessID(hFgWin, nil);
if AttachThreadInput(GetCurrentThreadID, FgThreadID, True) then
begin
hFocusWin := GetFocus;
Result := GetFocus;
AttachThreadInput(GetCurrentThreadID, FgThreadID, False);
end
else
Result := GetFocus;
end;