Я разработал приложение, которое запускает внешние процессы (например, блокнот и т. Д.) И отображает главное окно процесса внутри панели в моем приложении. (Как описано в этой теме)
Проблема в том, что у меня много проблем с фокусировкой. Например. когда окно находится над окном моего приложения и я щелкаю на окне подпроцесса, главное окно не выходит на передний план.
Я пытался решить эту проблему, вызывая SetForegroundWindow из основного приложения, когда дочерний процесс получает фокус, но как этот и этот поток описывает, что это работает, только если процесс отлаживается или, если это процесс переднего плана. Существует обходной путь, вызывающий AttachThreadInput, но он не работает на 100% надежно.
SetForegroundWindow также должно работать, если «процесс был запущен процессом переднего плана», но в моем случае это другой способ arround. (Процесс переднего плана был запущен процессом)
Есть ли способ получить право на установку окна переднего плана, если сфокусированное окно является дочерним процессом моего процесса?