有没有可能用win32程序获取浏览器中网页的文本框控件的内容和焦点状态
来源:百度知道 编辑:UC知道 时间:2024/05/25 02:54:18
请哪位大哥来告诉,这样的东西有可能实现吗,如果有,可否写下你的实现思路,如果你简要的写一下实现过程,小弟感激不尽~最后高分送上
可以!!!
首先要相信,只有你想不到,没有你做不到。VC博大精神。。。
现在就说一下我的思路:
1、首先要远程注入,因为这是跨进程的访问数据,因此,如果不注入的话,是很难从一个进程直接访问另一个进程的空间的,因为每个进程都有自己私有的4G空间。注入的方法很多,不说了。
2、枚举所有的浏览器子窗口。EnumChildWindow
3、监测枚举到的子窗口,获得其注册名字(classname),由此判断是不是一个Edit控件。如果是一个edit控件,则获得它的风格,如果有PASSWORD风格,则说明是一个密码输入框。
4、使用SendMessage( WM_GETTEXT )等函数获得Edit框中的文本。
5、搞定。
另外,至于要判断是不是处于焦点,更简单了。
使用上面第3步得到的Edit句柄,去判断GetFocus()是不是相等。就知道了。
还有,第一步非常重要,否则,余下的都不能实现。
没有
难就一个字。
兄弟,要能实现这网络就都乱了。
如果是IE的话是可以实现的,FF的话就不知道了。
请参看我在此帖的回答:
http://zhidao.baidu.com/question/89453758.html
嗯,差不多算空想。有的东西似是而非,太多的新技术了。除非你有精力把主流浏览器都研究透彻,然后针对每个浏览器写套处理程序,然后自己识别并调用相应的处理程序。不过每个浏览器版本升级恐怕你又要忙一阵子。
可以的,获得当前浏览器的文档,
void CSendMsgDlg::OnDownloadCompleteExplorer()
{
// TODO: Add your control notification handle