这是个老梗了,也没什么技术含量。因为自从接触Linux之后,Windows上我所知道的那一点api基本上都忘光了。所以这样的博文可以当做是备忘,说不定有天还能用的到。

Windows上想要获取浏览器的地址栏信息,基本思路是枚举浏览器的子窗体,然后获取hwnd(handle of window),最后使用SendMessage & WM_GETTEXT(或者 GetWindowText大体上没什么区别)。好,基于这样的事实,我们来做个简单的实现。

1.获取IE窗口

这个很简单通过FindWindow就可以做到,前提是我们已经知道了IE8的ClassName(窗口的类名称)是“IEFrame”。这样的话,用FindWindow这样的函数,就可以直接获取。当然,如果你是像获取Chrome这类浏览器,请先在Spy++中抓取窗口看看类名称。

2.通过枚举得到地址栏子窗体

使用Spy++可以很轻松地得到IE8的子窗体分布情况,请看下图:

下面两个我就不列出来了(因为编辑这个太累了),我们需要获取的是这样一个路径:IEFrame->WorkerW->RebarWindow32->Address Band Root->Edit。

到此为止基本上问题分析就已经结束了,直接上代码吧(叙述真累人)。

3.代码

Private Function GetIE8Url() As String
Dim hwnd As Long 'default 0, which eq top-hwnd.
Dim lpsz1
Dim url As String *
Dim length As Long For Each lpsz1 In Array("IEFrame", _
"WorkerW", _
"ReBarWindow32", _
"Address Band Root", _
"Edit")
hwnd = FindWindowEx(hwnd, &, lpsz1, vbNullString)
Next
length = SendMessage(hwnd, WM_GETTEXT, &, ByVal url)
GetIE8Url = Left(url, length)
End Function

如上所示,获取IE8地址栏URL信息的函数就实现了。我没有写函数声明,和容错处理,因为这样的函数是在确定IE8在运行的情况下执行的(当然你可以改写)。

VB6获取IE8的地址栏的URL信息的更多相关文章

  1. VB6获取Chrome地址栏的URL信息

    上篇写到了获取IE8浏览器URL的一般方法,那这篇就写下chrome的URL怎么获取.事实上,早期的chrome版本可以通过跟IE8差不多方式获取到URL信息.但是,现在chrome的控件都是Dire ...

  2. js 获取纯web地址栏中URL传参

       function GetQueryString(name)    {         var reg = new RegExp("(^|&)"+ name +&quo ...

  3. ASP.NET获取请求的url信息汇总

    ASP.NET获取请求的url信息汇总 最近做项目需要处理一个用代码获取当前网站的域名或ip信息的问题,于是尝试了ASP.NET中各种获取url信息的方法,在此总结一下: 在Global.asax文件 ...

  4. 一个用php实现的获取URL信息的类

    获取URL信息的类 使用这个类,你能获得URL的如下信息: - Host  - Path  - Statuscode (eg. 404,200, ...)  - HTTP Version  - Ser ...

  5. jQuery 获取 URL信息

    jQuery获取URL信息有很多方法,但是使用这个插件就非常爽了. 托管地址在:http://github.com/allmarkedup/jQuery-URL-Parser // http: //l ...

  6. 获取当前页面的URL信息

    以前在做网站的时候,经常会遇到当前页的分类高亮显示,以便让用户了解当前处于哪个页面.之前一直是在每个不同页面写方法.工程量大,也不便于修改.一直在想有什么简便的方法实现.后来在网上查到可以用获取当前U ...

  7. Javascrip获取页面URL信息

    使用Javascript可以方便获得页面的参数信息,常用的几种如下: 设置或获取对象指定的文件名或路径 window.location.pathname   设置或获取整个 URL 为字符串 wind ...

  8. js获取当前页面url信息

    <html> <head> <meta charset="utf-8" /> <title></title> <s ...

  9. 获取地址栏的URL: PHP JS

    1. PHP 获取上一页的URL 在php中可以通过内置的变量的属性来获取上一页的URL: $_SERVER['HTTP_REFERER']. 但是在IE中如果跳转是通过js函数如: window.l ...

随机推荐

  1. Ubuntu安装中文输入法

    如果你没有因为各种尝试搞乱了Ubuntu系统的话: 1. 在All Settings 里找到 Language Support, Install/Remove Languages里安装Chinese ...

  2. iOS 比较版本号大小的方法

    比较iOS版本号大小 eg:3.2.0和3.1.0 或者 3.2.0和3.2比较 返回bool值变量YES or NO -(BOOL)compareVesionWithServerVersion:(N ...

  3. 2017 UESTC Training for Data Structures

    http://acm.uestc.edu.cn/#/contest/show/155 对大二来说貌似这套题有点简单了,多是一眼题 发现漏了一题,然而是以前看别人讨论过的:). H:线段树+暴力.大概就 ...

  4. JBoss快速入门知识

    1.下载地址: http://www.jboss.org/jbossas/downloads

  5. 使用PostProcessBuild设定Unity产生的Xcode Project

    简单来说就是unity提供一套api去修改xcode项目工程配置以及修改plist文件内容(当unity build结束后, 会自动回调OnPostProcessBuild). 以下是一些用到的配置处 ...

  6. $.when()方法翻译

    地址:http://api.jquery.com/jQuery.when/ jQuery.when( deferreds ),returns Promise 正文 Description: Provi ...

  7. redis3.2.6 集群安装

    下载   [root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://download.redis.io/rele ...

  8. WebLogic 安装

    首先 需要下载好Weblogic 官网:http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-main-097127. ...

  9. jquery attr处理checkbox / select 等表单元素时的坑

    先上html结构 <body> <form action=""> <input type="checkbox" id=" ...

  10. bootstrapValidator 使用(包含入门demo,常用方法,以及常用的规则)

    一   什么是bootstrapValidator?    -- 一个基于 jquery,boostrap 的表单验证框架....简单实用上手快,页面美观还过得去,不废话了,直接撸. 二  boots ...