SHdovw与internetexplor

 

1. 問題描述

如何取得正在使用的 Interner Explorer 網址

 

2. 方法

(1) 取得 Internet Explorer 網址

先加入參考 Microsoft HTML Object Library 與 Microsoft Internet Controls

接著請參考以下程式碼與註解

01this.lbURL.Items.Clear();
02// 取得目前 Shell 的所有視窗
03SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
04foreach (SHDocVw.InternetExplorer ie in shellWindows)
05{
06    // 判斷視窗是否為 iexplore
07    if (Path.GetFileNameWithoutExtension(ie.FullName).ToLower().Equals("iexplore"))
08    {
09        this.lbURL.Items.Add(ie.LocationURL);
10    }
11}

 

image

 

(2) 透過 Windows API GetForegroundWindow 取得正在使用視窗[前景]的控制代碼

將宣告 GetForegroundWindow 部分加入,並且在取得 Internet Explorer 視窗時,判斷是否為正在使用前景視窗

01// 
02 // Windows API : GetForegroundWindow
03 // 取得正在使用視窗[前景]的控制代碼
04 // 
05 [DllImport("user32.dll")]
06 private static extern IntPtr GetForegroundWindow();
07 private void timer1_Tick(object sender, EventArgs e)
08 {
09     this.lbURL.Items.Clear();
10     // 取得目前 Shell 的所有視窗
11     SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();
12     foreach (SHDocVw.InternetExplorer ie in shellWindows)
13     {
14         // 判斷視窗是否為 iexplore
15         if (Path.GetFileNameWithoutExtension(ie.FullName).ToLower().Equals("iexplore"))
16         {
17             // 判斷此 Internet Explorer 是否為正在使用視窗[前景]
18             if (ie.HWND == GetForegroundWindow().ToInt32())
19             {
20                 this.txtURL.Text = ie.LocationURL;
21             }
22             this.lbURL.Items.Add(ie.LocationURL);
23         }
24     }
25 }

 

image

出处:http://www.dotblogs.com.tw/chou/archive/2010/01/11/12953.aspx

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值