c#获取ie进程并关掉指定标题的ie子窗口

  最近碰到一个需求,需要根据ie标题关掉对应的ie窗口,之前参考用过vba script不太好使,

就换成用c#调用window api和ie进程通信中

首先在winform项目里添加SHDocVw.dll文件

c:\windows\system32\SHDocVw.dll

然后添加以下代码即可根据ie标题关掉指定ie窗口

    private void Form1_Load(object sender, EventArgs e)
        {
            /* 获得所有ie进程。因为windows下资源窗口使用ie内核,所以不光是我们通常指的web浏览器,它还包括你打开我的电脑这样的窗口 */
            SHDocVw.ShellWindows sws = new SHDocVw.ShellWindows();

            /*遍历ie进程*/
            foreach (SHDocVw.InternetExplorer iw in sws)
            {
                /* 如果使用的窗口中正打开的是我的aaa.html
                 */
                string ieTitle = "test";
                if (ieTitle.Equals(iw.LocationName)) 
                {
                    //关闭当前子窗口进程
                    iw.ExecWB(OLECMDID.OLECMDID_CLOSE, OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER);
                }
            }
        }

猜你喜欢

转载自blog.csdn.net/ming19951224/article/details/90722005
IE
今日推荐