在没有聚焦的情况下打开隐藏的Internet Explorer窗口?

enl*_*nny 5 c# internet-explorer background focus focus-stealing

我想打开一个隐藏的Internet Explorer窗口而不会窃取焦点.我有一个Timer对象,每5分钟打开一次Internet Explorer,检查网站是否有更新.问题是每次检查更新时,都会从前台的当前应用程序中窃取焦点.以下是我开始这个过程的方法:

        Process m_Proc = new Process();
        m_Proc.StartInfo.Arguments = String.Format("{0}{1}", "-nomerge ", browserURL);
        m_Proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        m_Proc.StartInfo.UseShellExecute = true;
        m_Proc.StartInfo.CreateNoWindow = true;
        m_Proc.StartInfo.FileName = String.Format("iexplore.exe");
        m_Proc.Start();
Run Code Online (Sandbox Code Playgroud)

它总是窃取焦点,即使它被隐藏.我希望它从没有发生任何事情开始,因此用户可以继续处理他们正在做的事情.谢谢.

nos*_*tio 1

尝试通过 Internet Explorer 的 COM 接口实现自动化,而不是显式创建进程。下面是如何做到这一点。只是不这样做ie.Visible = true,它就会被隐藏起来。ie.Quit()完成后打电话。