일반적으로 GetFocus() 함수는 현재 윈도우에서 포커스를 가진 핸들을 가져온다.
그말인 즉슨 다른 윈도우를 대상으로 이함수를 사용하면
포커스를 가진 윈도우가 다른 스레드의 메시지큐에 있기 때문에 NULL을 반환한다는 말이다.
이에대한 해결법은 아래와 같다.
1
2
3
4
5 |
HWND hWnd = GetForegroundWindow();
DWORD fromId = GetCurrentThreadId();
DWORD toId = GetWindowThreadProcessId(hWnd, NULL);
AttachThreadInput(fromId, toId, TRUE);
HWND focus = GetFocus(); |
cs |
'C&C++' 카테고리의 다른 글
WINAPI How To Load Windows Tray Icon (0) | 2018.09.08 |
---|---|
How To Use Json In C++(jsoncpp) (0) | 2018.09.08 |
WINAPI Deny System Key Code (0) | 2018.06.26 |
"" , L"" , TEXT("") , _T("") (0) | 2018.06.15 |
Using scanf() As gets() (0) | 2018.06.15 |