Мы создаем пользовательский веб-браузер, используя CefSharp WinForms (версия 71.0.2.0), и нам нужно открыть всплывающую форму, содержащую элемент управления браузера. Это всплывающее окно не должно захватывать фокус из любого другого окна, открытого пользователем (текущее приложение и любые другие, в которых он работает), но оно должно появляться перед любыми другими.
Мы успешно справились с этим в предыдущей версии приложения, в которой использовалась другая оболочка Chrome.
Что бы я ни пытался, я не могу заставить его работать.
Используя следующее:
frm.Visible = false;
frm.TopMost = false;
ShowWindow(frm.Handle, SW_SHOWNOACTIVATE);
SetWindowPos((int)frm.Handle, HWND_TOPMOST,frm.Left, frm.Top, frm.Width, frm.Height,SWP_NOACTIVATE);
frm.Visible = true; //So that Load event happens
показывает неактивное окно, если я не включаю в него браузер, когда я добавляю окно браузера и вызываю вышеуказанное, оно крадет фокус.