想了一下可以用AttachThreadInput先把当前线程的输入和焦点线程的输入连起来再GetFocus。
const DWORD tid = GetWindowThreadProcessId(GetForegroundWindow(),NULL);
AttachThreadInput(tid, GetCurrentThreadId(),TRUE);
HWND hWnd = GetFocus();
AttachThreadInput(tid, GetCurrentThreadId(),FALSE);