2009-08-10 3 views
1

현재 포커스가 설정된 창의 HWND를 가져올 수 있습니까? 현재의 응용 프로그램이 아닌 전체 윈도우 스테이션에 적용됩니다. 대상 응용 프로그램은 Win32입니다. 현재 윈도우를 사용하여 얻을 수 있습니다 : GetForegroundWindow() 그러나 이것은 기본 창입니다. 자식 창을 열거 할 수 있지만 초점이 맞는지 어떻게 결정합니까?시스템 전체 포커스

답변

2
HWND RemoteGetFocus() 
{ 
    HWND hwnd = GetForegroundWindow(); 
    DWORD remoteThreadId = GetWindowThreadProcessId(hwnd, NULL); 
    DWORD currentThreadId = GetCurrentThreadId(); 
    AttachThreadInput(remoteThreadId, currentThreadId, TRUE); 
    HWND focused = GetFocus(); 
    AttachThreadInput(remoteThreadId, currentThreadId, FALSE); 
    return focused; 
} 
+0

브릴리언트! 감사! –

관련 문제