MFC实现自动填写表单与自动提交表单
来源:互联网 发布:奥拉朱旺生涯数据 编辑:程序博客网 时间:2024/05/21 06:22
自动填写表单和自动提交表单可以利用在网页里自动注册,自动发帖,还可以让程序跟网页互动,这功能的使用还是比较广泛的,我说一下我一般用的自动填表跟自动提交表单的一些技巧,这些技巧,你可以结合一些扩展思维来做更多的事情,自动填写表单关键找到变量的name(搜索maxLength之后,就很容易找到变量的name),提交表单关键找到form的submitname和form的name。
1.新建一个Dlg对话框MFC程序
2.在对话框里面拉如一个WebBrowser控件ID改为IDC_EXPLORER,为其关联控件变量,变量名为m_web。
3.增加3个按钮,一个为“提交表单”,ID修改为IDC_SUBMIT,一个为”自动填写“按钮ID修改为IDC_AUTO,另外一个为“打开网页”按钮ID修改为IDC_OPEN,同时为3个按钮添加消息响应
4.增加2个编辑框2个静态文本,他们组成“帐号”和“密码”两组,为帐号的编辑框修改ID为,IDC_USERNAME,关联CString变量为m_username,为密码编辑框修改ID为:IDC_PASSWORD,关联CString变量为m_password,再增加一个编辑框ID为:IDC_URL,关联CString变量为m_url,这个跟打开配成一组用做打开网页(也可以在Dlg类的初始化函数里面直接做打开指定网页)
5.在dlg的opp文件(实现文件)的头部包含头文件
#include <MsHTML.h>6.在“打开网站”按钮的消息响应中添加如下代码:
CComVariant vtUrl(m_url);CComVariantvtEmpty;m_web.Navigate2(&vtUrl, &vtEmpty, &vtEmpty, &vtEmpty, &vtEmpty);//打开指定的网页7.在“自动填写”按钮的详细响应中添加如下代码:
CComPtr < IDispatch > spDispDoc;spDispDoc = m_web.get_Document();CComQIPtr< IHTMLDocument2 > spDocument2 = spDispDoc;CComQIPtr< IHTMLElementCollection > spElementCollection;if(SUCCEEDED(spDocument2->get_all(&spElementCollection))){CComPtr<IDispatch> spDisp1, spDisp2;HRESULT hr1, hr2;hr1 = spElementCollection->item(CComVariant("u"), CComVariant("0"), &spDisp1);hr2 = spElementCollection->item(CComVariant("p"), CComVariant("0"), &spDisp2);if(SUCCEEDED(hr1))//||SUCCEEDED(hr2)||SUCCEEDED(hr3)){CComQIPtr<IHTMLInputElement> spElem1 = spDisp1;CComQIPtr<IHTMLInputElement> spElem2 = spDisp2;spElem1->put_value(CComBSTR(username));spElem2->put_value(CComBSTR(password));}}8.在“提交表单”按钮的消息响应中添加如下代码:
CComPtr < IDispatch > spDispDoc;spDispDoc = m_web.get_Document();CComQIPtr< IHTMLDocument2 > spDocument2 = spDispDoc;CComQIPtr< IHTMLElementCollection > spElementCollection;if(SUCCEEDED(spDocument2->get_all(&spElementCollection))){CComPtr<IDispatch> spDisp;HRESULT hr;hr = spElementCollection->item(CComVariant("submit"), CComVariant("0"), &spDisp);if(SUCCEEDED(hr)){CComQIPtr<IHTMLFormElement> spForm = spDisp;spForm->submit();}}在网页输入里输入网页www.baidu.com然后点击“打开按钮”,接着在编辑框里面输入一下帐号密码,点一下自动填写,再点一下“提交表单”是不是看到浏览器里面的数据自动输入提交表单了呢?这时候大家可以扩展一下,把自动填写的处理放到提交表单里面去处理,然后在dlg类的初始化函数里面设置一下打开网站的操作,这时候一打开软件就打开了指定的网页,然后输入帐号密码,点提交,浏览器里面的数据自动输入提交表单登录,这时候再根据新的网页进行一些操作就可以实现自动发帖了,这时候操作做完之后再做一些无法打开网页的错误处理跟抛出异常,把web控件设为不可见,看起来就象是软件直接跟网站的数据库直接打交道了,其他的一些技巧实现起来差不多这里给了思路,大家自己去琢磨。
- MFC实现自动填写表单与自动提交表单
- MFC实现自动填写表单与自动提交表单
- HTML form表单自动填写自动提交
- 自动表单填写
- 自动表单填写
- 自动填写网页表单
- 自动填写表单基本原理
- 自动填写网页表单
- javascript 自动填写表单的实现方法
- vc遍历网页表单并自动填写提交
- .net 火车头 ------表单(form)的自动填写和提交
- .net 火车头 ------表单(form)的自动填写和提交
- vc遍历网页表单并自动填写提交
- vc遍历网页表单并自动填写提交
- vc遍历网页表单并自动填写提交
- WebBrowser控件表单(form)的自动填写和提交
- vc遍历网页表单并自动填写提交
- vc遍历网页表单并自动填写提交
- 服务器集群管理框架从构思到完成(三)高级应用示例:修改远程windows和linux服务器配置文件
- 指针的引用
- 蓝颜紫隐的唯美伤感日志发布:有一种美丽叫隐身.
- C++ 复制文件的n种方法
- ExtJS4.07 Component的生命周期
- MFC实现自动填写表单与自动提交表单
- switch 语句中省略号与 case 范围
- 示波器1x10x功能
- 通向架构师的道路(第三天)之apache性能调优
- Oracle的权限用户角色详解
- c# 正则循环
- Linux getopts&shift命令浅析
- android webservice获取城市天气情况
- IE下JS报“缺少标识符 字符串或数字”错误