江湖救急!!!请教如何取得网页密码输入框内的文本 用sendMessage不行啊得不到网页文本框的句柄啊用途:可以找回还记录在网页上但已经没有记在心里的密码。请高手救助,因为我想重装系统啊。谢了!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 找到一个,不过是VC的不知VB是否能够实现本文是教你如何得到网页中输入框的内容。如何你想获取网页中的密码,则只要把if (lstrcmpi(strtype, _T("TEXT")) == 0) 改成if (lstrcmpi(strtype, _T("PASSWORD")) == 0) 就可以了,如果你要是再加个实时监视的话,就成了密码窃取程序了咯! 主要思路:获取IE的IHTMLInputTextElement接口,这样就可以获取网页中的输入框(包括文本和密码输入框)的内容了。 具体请看源代码,严禁把本文和代码用于商业或者非法用途,否则一切后果与本人无关! 如果要转载,请与作者联系! Copyright (C) 2002. All Rights Reserved. VARIANT id, index; CComPtr<IDispatch> spDispatch; CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> pDoc2; CComQIPtr<IHTMLElement, &IID_IHTMLElement> pElement; CComPtr<IHTMLElementCollection> pElementCol; CComPtr<IHTMLFormElement> pFormElement; CComPtr<IHTMLInputTextElement> pInputElement;//首先获取IWebBrowser2接口CoInitialize(NULL); //必须要这句初始化SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);if (m_spSHWinds == NULL){ if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK) { MessageBox("Failed"); CoUninitialize(); }}if (m_spSHWinds) { int n = m_spSHWinds->GetCount(); for (int i = 0; i < n; i++) { _variant_t v = (long)i; IDispatchPtr spDisp = m_spSHWinds->Item(v); SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); //生成一个IE窗口的智能指针 if (spBrowser) {//获取IHTMLDocument2接口if (SUCCEEDED(spBrowser->get_Document( &spDispatch))) pDoc2 = spDispatch; if(pDoc2!=NULL) { // AfxMessageBox("已经获取IHTMLDocument2"); if (SUCCEEDED(pDoc2->get_forms(&pElementCol))) { // AfxMessageBox("已经获取IHTMLElementCollection"); long p=0; if(SUCCEEDED(pElementCol->get_length(&p))); if(p!=0) { for(long i=0;i<=(p-1);i++) { V_VT(&id) = VT_I4; V_I4(&id) = i; V_VT(&index) = VT_I4; V_I4(&index) = 0; if(SUCCEEDED(pElementCol->item(id,index, &spDispatch))) if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLFormElement,(void**)&pFormElement))) { // AfxMessageBox("已经获取IHTMLFormElement"); long q=0; if(SUCCEEDED(pFormElement->get_length(&q))); for(long j=0;j<=(q-1);j++) { V_VT(&id) = VT_I4; V_I4(&id) = j; V_VT(&index) = VT_I4; V_I4(&index) = 0; if(SUCCEEDED(pFormElement->item(id,index, &spDispatch))) if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLInputTextElement,(void**)&pInputElement))) { //AfxMessageBox("已经获取IHTMLInputTextElement"); CComBSTR value; CComBSTR type; pInputElement->get_type(&type);//获取输入框类型(密码框还是文本框) CString strtype(type); strtype.MakeUpper(); if (lstrcmpi(strtype, _T("TEXT")) == 0) { pInputElement->get_value(&value);//获取文本框的值 CString strvalue(value); AfxMessageBox(strvalue); } } } } } } } =================================================HTTP://WWW.ITZYK.NET IT资源库--->IT人的专业资源库=================================================http://www.itzyk.net 中国IT人的技术资源网站。网站刚刚起步,希望广大IT网友们加入我们,我们会一直把这个网站做大,做全起来。现在网站分为两大部分:http://bbs.itzyk.net -->专业讨论DoNet技术的论坛社区 http://down.itzyk.net 各种程序源码的下载站。现在论坛区正处于发展壮大期,诚邀各位有志于IT技术方面的朋友加入我们的论坛来负责版主一职,发挥你们的能力让我们把这个论坛壮大起来吧!http://bbs.itzyk.net 欢迎您的到来!同时也欢迎各位IT朋友批评、指教! stiffe01(灌水家),能不能再详细点? 你看看 网页的原代码 里面的 那个password 的 input 里的value 值是多少 UP!!!我想知道上面提及的IE接口如何得到!高手快现身!!! 本文是教你如何得到网页中输入框的内容。如何你想获取网页中的密码,则只要把if (lstrcmpi(strtype, _T("TEXT")) == 0) 改成if (lstrcmpi(strtype, _T("PASSWORD")) == 0) 就可以了,如果你要是再加个实时监视的话,就成了密码窃取程序了咯! 主要思路:获取IE的IHTMLInputTextElement接口,这样就可以获取网页中的输入框(包括文本和密码输入框)的内容了。 具体请看源代码,严禁把本文和代码用于商业或者非法用途,否则一切后果与本人无关! 如果要转载,请与作者联系! Copyright (C) 2002. All Rights Reserved. VARIANT id, index; CComPtr<IDispatch> spDispatch; CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> pDoc2; CComQIPtr<IHTMLElement, &IID_IHTMLElement> pElement; CComPtr<IHTMLElementCollection> pElementCol; CComPtr<IHTMLFormElement> pFormElement; CComPtr<IHTMLInputTextElement> pInputElement;//首先获取IWebBrowser2接口CoInitialize(NULL); //必须要这句初始化SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);if (m_spSHWinds == NULL){ if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK) { MessageBox("Failed"); CoUninitialize(); }}if (m_spSHWinds) { int n = m_spSHWinds->GetCount(); for (int i = 0; i < n; i++) { _variant_t v = (long)i; IDispatchPtr spDisp = m_spSHWinds->Item(v); SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); //生成一个IE窗口的智能指针 if (spBrowser) {//获取IHTMLDocument2接口if (SUCCEEDED(spBrowser->get_Document( &spDispatch))) pDoc2 = spDispatch; if(pDoc2!=NULL) { // AfxMessageBox("已经获取IHTMLDocument2"); if (SUCCEEDED(pDoc2->get_forms(&pElementCol))) { // AfxMessageBox("已经获取IHTMLElementCollection"); long p=0; if(SUCCEEDED(pElementCol->get_length(&p))); if(p!=0) { for(long i=0;i<=(p-1);i++) { V_VT(&id) = VT_I4; V_I4(&id) = i; V_VT(&index) = VT_I4; V_I4(&index) = 0; if(SUCCEEDED(pElementCol->item(id,index, &spDispatch))) if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLFormElement,(void**)&pFormElement))) { // AfxMessageBox("已经获取IHTMLFormElement"); long q=0; if(SUCCEEDED(pFormElement->get_length(&q))); for(long j=0;j<=(q-1);j++) { V_VT(&id) = VT_I4; V_I4(&id) = j; V_VT(&index) = VT_I4; V_I4(&index) = 0; if(SUCCEEDED(pFormElement->item(id,index, &spDispatch))) if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLInputTextElement,(void**)&pInputElement))) { //AfxMessageBox("已经获取IHTMLInputTextElement"); CComBSTR value; CComBSTR type; pInputElement->get_type(&type);//获取输入框类型(密码框还是文本框) CString strtype(type); strtype.MakeUpper(); if (lstrcmpi(strtype, _T("TEXT")) == 0) { pInputElement->get_value(&value);//获取文本框的值 CString strvalue(value); AfxMessageBox(strvalue); } } } } } } } 做这个用VB比用VC方便。等我给你找。用shellwindow http://cache.baidu.com/c?word=%B1%E9%3B%C0%FA%3Bie&url=http%3A//www%2Eyourblog%2Eorg/Data/20041/2650%2Ehtml&b=2&user=baidu以前的几遍文章找不到了。我又搜到这个。还有这个:http://www.tchtour.com/blog/detail.asp?blog_id=1&content_id=1402还有这个:http://xkun.go.nease.net/Jszl/Bckf/net2/list.asp-id=1033更多的请去搜索关键字:ShellWindows sstab控件使用问题,请各位朋友指教。 请帮忙检查如下代码 标准模块中定义子过程的调用问题 是人都过来 我下载了msdn但文件格式是.iso的怎么打开和安装啊? 求一API例子,就是使IMAGE控件变透明!! 怎样将字符串转为整数? 在RichTextBox中,为何复制全角双引号却变成了半角双引号? ???一个关于DLL使用的问题??? 如何实现多个winsock客户端与服务器端的连接 远程桌面连接问题??? 文本框的问题!
本文是教你如何得到网页中输入框的内容。如何你想获取网页中的密码,则只要把if (lstrcmpi(strtype, _T("TEXT")) == 0) 改成if (lstrcmpi(strtype, _T("PASSWORD")) == 0) 就可以了,如果你要是再加个实时监视的话,就成了密码窃取程序了咯!
主要思路:获取IE的IHTMLInputTextElement接口,这样就可以获取网页中的输入框(包括文本和密码输入框)的内容了。
具体请看源代码,严禁把本文和代码用于商业或者非法用途,否则一切后果与本人无关!
如果要转载,请与作者联系!
Copyright (C) 2002. All Rights Reserved.
VARIANT id, index;
CComPtr<IDispatch> spDispatch;
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> pDoc2;
CComQIPtr<IHTMLElement, &IID_IHTMLElement> pElement;
CComPtr<IHTMLElementCollection> pElementCol;
CComPtr<IHTMLFormElement> pFormElement;
CComPtr<IHTMLInputTextElement> pInputElement;//首先获取IWebBrowser2接口
CoInitialize(NULL); //必须要这句初始化
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
if (m_spSHWinds == NULL)
{
if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK)
{
MessageBox("Failed");
CoUninitialize();
}
}if (m_spSHWinds)
{
int n = m_spSHWinds->GetCount();
for (int i = 0; i < n; i++)
{
_variant_t v = (long)i;
IDispatchPtr spDisp = m_spSHWinds->Item(v); SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); //生成一个IE窗口的智能指针
if (spBrowser)
{
//获取IHTMLDocument2接口
if (SUCCEEDED(spBrowser->get_Document( &spDispatch)))
pDoc2 = spDispatch;
if(pDoc2!=NULL)
{
// AfxMessageBox("已经获取IHTMLDocument2");
if (SUCCEEDED(pDoc2->get_forms(&pElementCol)))
{
// AfxMessageBox("已经获取IHTMLElementCollection");
long p=0;
if(SUCCEEDED(pElementCol->get_length(&p)));
if(p!=0)
{ for(long i=0;i<=(p-1);i++)
{ V_VT(&id) = VT_I4;
V_I4(&id) = i;
V_VT(&index) = VT_I4;
V_I4(&index) = 0; if(SUCCEEDED(pElementCol->item(id,index, &spDispatch)))
if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLFormElement,(void**)&pFormElement)))
{
// AfxMessageBox("已经获取IHTMLFormElement");
long q=0;
if(SUCCEEDED(pFormElement->get_length(&q)));
for(long j=0;j<=(q-1);j++)
{
V_VT(&id) = VT_I4;
V_I4(&id) = j;
V_VT(&index) = VT_I4;
V_I4(&index) = 0;
if(SUCCEEDED(pFormElement->item(id,index, &spDispatch))) if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLInputTextElement,(void**)&pInputElement)))
{
//AfxMessageBox("已经获取IHTMLInputTextElement");
CComBSTR value;
CComBSTR type;
pInputElement->get_type(&type);//获取输入框类型(密码框还是文本框)
CString strtype(type);
strtype.MakeUpper();
if (lstrcmpi(strtype, _T("TEXT")) == 0)
{
pInputElement->get_value(&value);//获取文本框的值
CString strvalue(value);
AfxMessageBox(strvalue);
}
}
}
}
}
}
}
HTTP://WWW.ITZYK.NET IT资源库--->IT人的专业资源库
=================================================
http://www.itzyk.net 中国IT人的技术资源网站。网站刚刚起步,希望广大IT网友们加入我们,我们会一直把这个网站做大,做全起来。现在网站分为两大部分:http://bbs.itzyk.net -->专业讨论DoNet技术的论坛社区 http://down.itzyk.net 各种程序源码的下载站。
现在论坛区正处于发展壮大期,诚邀各位有志于IT技术方面的朋友加入我们的论坛来负责版主一职,发挥你们的能力让我们把这个论坛壮大起来吧!http://bbs.itzyk.net 欢迎您的到来!同时也欢迎各位IT朋友批评、指教!
我想知道上面提及的IE接口如何得到!
高手快现身!!!
主要思路:获取IE的IHTMLInputTextElement接口,这样就可以获取网页中的输入框(包括文本和密码输入框)的内容了。
具体请看源代码,严禁把本文和代码用于商业或者非法用途,否则一切后果与本人无关!
如果要转载,请与作者联系!
Copyright (C) 2002. All Rights Reserved.
VARIANT id, index;
CComPtr<IDispatch> spDispatch;
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2> pDoc2;
CComQIPtr<IHTMLElement, &IID_IHTMLElement> pElement;
CComPtr<IHTMLElementCollection> pElementCol;
CComPtr<IHTMLFormElement> pFormElement;
CComPtr<IHTMLInputTextElement> pInputElement;//首先获取IWebBrowser2接口
CoInitialize(NULL); //必须要这句初始化
SHDocVw::IWebBrowser2Ptr spBrowser(spDisp);
if (m_spSHWinds == NULL)
{
if (m_spSHWinds.CreateInstance(__uuidof(SHDocVw::ShellWindows)) != S_OK)
{
MessageBox("Failed");
CoUninitialize();
}
}if (m_spSHWinds)
{
int n = m_spSHWinds->GetCount();
for (int i = 0; i < n; i++)
{
_variant_t v = (long)i;
IDispatchPtr spDisp = m_spSHWinds->Item(v); SHDocVw::IWebBrowser2Ptr spBrowser(spDisp); //生成一个IE窗口的智能指针
if (spBrowser)
{
//获取IHTMLDocument2接口
if (SUCCEEDED(spBrowser->get_Document( &spDispatch)))
pDoc2 = spDispatch;
if(pDoc2!=NULL)
{
// AfxMessageBox("已经获取IHTMLDocument2");
if (SUCCEEDED(pDoc2->get_forms(&pElementCol)))
{
// AfxMessageBox("已经获取IHTMLElementCollection");
long p=0;
if(SUCCEEDED(pElementCol->get_length(&p)));
if(p!=0)
{ for(long i=0;i<=(p-1);i++)
{ V_VT(&id) = VT_I4;
V_I4(&id) = i;
V_VT(&index) = VT_I4;
V_I4(&index) = 0; if(SUCCEEDED(pElementCol->item(id,index, &spDispatch)))
if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLFormElement,(void**)&pFormElement)))
{
// AfxMessageBox("已经获取IHTMLFormElement");
long q=0;
if(SUCCEEDED(pFormElement->get_length(&q)));
for(long j=0;j<=(q-1);j++)
{
V_VT(&id) = VT_I4;
V_I4(&id) = j;
V_VT(&index) = VT_I4;
V_I4(&index) = 0;
if(SUCCEEDED(pFormElement->item(id,index, &spDispatch))) if(SUCCEEDED(spDispatch->QueryInterface(IID_IHTMLInputTextElement,(void**)&pInputElement)))
{
//AfxMessageBox("已经获取IHTMLInputTextElement");
CComBSTR value;
CComBSTR type;
pInputElement->get_type(&type);//获取输入框类型(密码框还是文本框)
CString strtype(type);
strtype.MakeUpper();
if (lstrcmpi(strtype, _T("TEXT")) == 0)
{
pInputElement->get_value(&value);//获取文本框的值
CString strvalue(value);
AfxMessageBox(strvalue);
}
}
}
}
}
}
}
用shellwindow
以前的几遍文章找不到了。我又搜到这个。还有这个:
http://www.tchtour.com/blog/detail.asp?blog_id=1&content_id=1402还有这个:
http://xkun.go.nease.net/Jszl/Bckf/net2/list.asp-id=1033更多的请去搜索关键字:ShellWindows