Можно ли сохранять фокус моему окну, когда пользователь щелкает по другим окнам? setfocus, setforegroundwindow, setactivewindow не помогают. При этом подсвечивается синим то, что свернуто на панели задач, а фокус окну не возвращается. С пом. AttachThreadInput setforegroundwindow помогает вернуть фокус, но если щелкнуть по окну консольной программы (Фара), то и это не работает. Я заметил, что если программа делает SetWindowsHookEx с WH_JOURNALRECORD, то достаточно в обработчике сообщения wm_killfocus вставить setfocus для моего окна, и фокус не теряется. Неужели нет другого пути сохранять фокус, кроме как устанавливать этот хук?
Через SetWindowsHookEx будет надежнее. Многие проги используют простые и надежные методы вроде этого и проблем не было.