小玩意1-实时获取IE浏览器输入框URL地址
主要参考http://www.cnblogs.com/scrat/archive/2012/09/12/2682626.html
主要思路如下:
通过 FindWindow() FindWindowEx()函数获得窗口句柄,通过SendMessage获得具体值。具体函数方法请自行百度。
FindWindow这个函数检索处理顶级窗口的类名和窗口名称匹配指定的字符串。这个函数不搜索子窗口。
FindWindowEx是在窗口列表中寻找与指定条件相符的第一个子窗口 。
需要注意的地方是获得窗口的参数问题 这里是如何得到如"IEFrame","WorkerW"等的值呢?
利用工具spy++。Spy++ (SPYXX.EXE) 是一个基于 Win32 的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用 Spy++ 可以执行下列操作: 显示系统对象(包括进程、线程和窗口)之间关系的图形树。 搜索指定的窗口、线程、进程或消息。 查看选定的窗口、线程、进程或消息的属性。
打开软件:

IEFrame ->WorkerW-> ReBarWindow32-> Address Band Root-> Edit
代码如下:
#include <windows.h>
#include <stdio.h>
#include <malloc.h>
char URL[] = {};
void getURL()
{
HWND hWnd =FindWindow("IEFrame", NULL); //获得IE窗口句柄
HWND hWnd1=FindWindowEx(hWnd, , "WorkerW", NULL); //获得IE窗口的工作区句柄
HWND hWnd2=FindWindowEx(hWnd1, , "ReBarWindow32", NULL); //获得IE窗口的菜单栏句柄
HWND hWnd3=FindWindowEx(hWnd2, , "Address Band Root", NULL); //获得IE窗口地址栏句柄
HWND hWnd4=FindWindowEx(hWnd3, , "Edit",NULL); //获得IE窗口地址栏编辑框句柄 if(hWnd4 != NULL)
{
int i=SendMessage(hWnd4,WM_GETTEXTLENGTH,,); //向IE窗口地址栏编辑框发送获取字符串长度的命令
memset(URL, ,);
SendMessage(hWnd4,WM_GETTEXT,i+,long(URL)); //向IE窗口地址栏编辑框发送获取字符的命令
printf("%s\n",URL);
return;
}
else
{
printf("Don't find IE!\n"); }
return;
}
int main(int argc, char* argv[])
{
//一个死循环,每隔一秒去取得IE当前输入框内容
while()
{
getURL();
Sleep();
}
return ;
}
ps:代码可能还有些问题,待进一步改进。
小玩意1-实时获取IE浏览器输入框URL地址的更多相关文章
- Uipath 获取当前浏览器页面URL
文章来源东京IT青年前线 http://www.rpatokyo.com Uipath 获取当前浏览器页面URL的方法 Inject Js Script 因为目前没有直接获取页面URL的Act ...
- PHP中$_SERVER获取当前页面的完整URL地址
PHP中$_SERVER获取当前页面的完整URL地址,其实很简单,主要是通过$_SERVER超全局变量来实现的. 具体PHP中$_SERVER获取当前页面的完整URL地址如下. #测试网址: ...
- QT 通过QNetworkReply *获取对应请求的URL地址
[1]QT 通过QNetworkReply *获取对应请求的URL地址 reply->url().toString(); Good Good Study, Day Day Up. 顺序 选择 循 ...
- PHP获取当前页面完整url地址,包括参数的函数
//php获取当前访问的完整url地址 function get_current_url(){ $current_url='http://'; if(isset($_SERVER['H ...
- 【JavaScript】不使用正则表达式和字符串的方式来解析浏览器的URl地址信息
1.比如我们要获取的网站URl地址是:https://music.163.com/#/playlist?id=2384581760 一般我们能够想到的方式是直接使用正则表达式获取使用字符串直接解析的方 ...
- JS获取当前完整的url地址以及参数的方法
javascript 获取当前 URL 参数的两种方法: //返回的是字符串形式的参数,例如:class_id=3&id=2& function getUrlArgStr(){ var ...
- JAVA获取当前请求的URL地址,包含请求链接中的参数
/** * 获得当前访问的URL路径 * @param request * @return */ public static String getLocation(HttpServletRequest ...
- java 获取请求的完整url地址
String url=request.getRequestURL()+"?"+request.getQueryString();
- thymeleaf 页面获取当前页面的完整URL地址
下面两种方法是一样的 <div th:text="${#httpServletRequest.getRequestURL() +'?'+ #httpServletRequest.get ...
随机推荐
- [2017BUAA软工]第1次个人作业
软工第1次个人作业 一.快速看完整部教材,列出你不懂的5-10个问题,发布在你的个人博客上. 1.文中提到"积累问题领域的知识和经验(例如:对医疗或金融行业的了解)."然而我们如何 ...
- SVM (support vector machine)
简单原理流程转自:http://wenku.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuEwWENnSuPS32QO8X0a0gHpOOzdnNt_K0mK2cucV ...
- Load generator连接失败的解决办法!(转)
环境:1.loadrunner control 一台物理机(win2008r2) 2.loadrunner agent 两台物理机(win2008r2) 问题:loadrunner control 连 ...
- linux中inittab文件详解
init的进程号是1(ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序. init程序需要读取配置文件/etc/ ...
- docker中间件安装记录
rabbitmq docker pull rabbitmq docker run --restart=on-failure: --name rabbitmq -d -p : -p : docker.i ...
- Java中LinkedList的fori和foreach效率比较
在<Java中ArrayList的fori和foreach效率比较>中对ArrayList的两种循环方式进行了比较,本次对LinkedList的两种遍历方式进行效率的比较. 1. list ...
- 第220天:Angular---路由
内容介绍,为什么要使用前端路由? 在2005左右,兴起了一种叫做ajax的技术,有了ajax之后,我们向服务端提交数据的时候就不再需要使用from表单去提交了,因为from表单之间的提交会导致页面之间 ...
- spring1 注册value与ref的区别
- 父类是在子类创建对象时候 在子类中创建一个super内存空间
父类是在子类创建对象时候 在子类中创建一个super内存空间
- GIT 旧库迁移到新库
1.在gitlab创建新项目,得到SSH地址2.用gitextent打开旧项目,记得所有分支合并成一个(如果确实无法合并,则需要一个个复位推送)3.复位到需要推送的节点分支4.打开菜单栏的档案库,管理 ...