12
2019
10

C#获取IE当前打开的网址和激活窗口

阿里云主机推荐

QQ截图20191012165720.png


C#获取系统自带浏览器IE的当前进程打开的URL网站以及激活的IE界面(IE多标签或多窗口状态下被激活状态的网站)。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;

namespace GetIeUrl
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        [DllImport("user32", EntryPoint = "FindWindow")]
        public static extern int FindWindowA(string lpClassName, string lpWindowName);
        [DllImport("User32.dll")]
        static extern int GetWindowText(int hwnd, StringBuilder buf, int nMaxCount);

        private void button1_Click(object sender, EventArgs e)
        {
            this.listBox1.Items.Clear();

            SHDocVw.InternetExplorer browser;
            string myLocalLink;
            mshtml.IHTMLDocument2 myDoc;
            SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindows();
            string filename;
            foreach (SHDocVw.InternetExplorer ie in shellWindows)
            {
                filename = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
                if ((filename == "iexplore"))
                {
                    browser = ie;

                    myDoc = browser.Document;
                    myLocalLink = myDoc.url;

                    int iehwnd = FindWindowA("IEFrame", null);
                    StringBuilder str = new StringBuilder(512);
                    GetWindowText(iehwnd, str, str.Capacity);
                    Log.Info(str.ToString());
                    this.listBox1.Items.Add("【browser】" + str.ToString());
                    this.listBox1.Items.Add(myLocalLink);
                }
            }
        }
    }
}


本文标题:C#获取IE当前打开的网址和激活窗口
本文链接:https://www.masoft.cn/post/90.html
作者授权:除特别说明外,本文由 智汇软件 原创编译并授权 北京,深圳,重庆,大连,青岛,济南软件设计与定制 刊载发布。
版权声明:本文使用「署名-禁止演绎 4.0 国际」创作共享协议,转载或使用请遵守署名协议。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

分享:

支付宝

微信