我们正在使用CefSharp WinForms(版本71.0.2.0)构建自定义Web浏览器,并且需要打开一个包含浏览器控件的弹出表单。此弹出窗口不得从用户打开的任何其他窗口(当前应用程序和他们正在使用的任何其他窗口)中夺取焦点,而必须在其他任何窗口之前弹出。
我们已经在使用其他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
如果我不包含浏览器,则会显示一个不活动的窗口,当我添加一个浏览器窗口并调用上面的窗口时,它会失去焦点。