大家好:现在IE中有一个ACTIVEX控件,该控件需要输入用户名与密码,我想通过程序自动输入,我尝试过一些方面,如HOOK但好像取不到,不知大家有什么高招,请指教,,谢谢...
解决方案 »
- 如何将IP中第三个.后的字符替换成*
- 如何获取网页中指定的字符串
- asp.net中取得本网站的所有Session及Session名称
- 执行长时间任务,比如半个小时,为什么时间长了服务器就会把正在执行的响应代码cut掉(也就是说不会执行响应了)
- 如何访问到另一个aspx上的控件Gridveiw
- 小弟问一个很久没有解决的问题!
- 谁可以帮我添加一下连接和购物车,还有搜索条功能啊!
- 关于asp.net的初级问题,请多指教
- 一个框架的问题?
- 怎样在aspx实现象ie收藏夹那样的功能?300分
- 关于.net下邮件发送在outlook和foxmail下显示不同的问题。
- 当我的网站使用了认证(win2003自代)网址变成了https,但导出不了数据了是什么原因
首先,你要获得当前IE窗口的WebBrowser,也就是IHTMLDocument2,获得了IHTMLDocument2想做什么都就行了
下面给你一个使用WebBrowser控件的例子,别说WebBrowser不合适你,WebBrowser不是关键,关键的是IHTMLDocument2 private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("www.sina.com.cn");
} private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
IHTMLDocument2 doc = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLWindow2 windows2 = doc.parentWindow;
windows2.execScript("javascript:document.getElementById('username').value ='bb';document.getElementById('password').value='aa';", "JavaScript");
}
{
webBrowser1.Navigate("www.sina.com.cn");
} private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//这里如何判断全部下载完毕呢?? // 获取IHTMLDocument2
IHTMLDocument2 doc = webBrowser1.Document.DomDocument as IHTMLDocument2; //获取文档中所有的表单
foreach (HTMLFormElement form in doc.forms)
{
//获取当前表单有的输入框
foreach (HTMLInputTextElement element in form.getElementsByTagName("input"))
{
//判断是不是text,可以认为除去密码后所有的输入框
if (element.type.ToLower() == "text")
{
element.value = "aa";
}
else if (element.type.ToLower() == "password") //判断是不是密码框
{
element.value = "bb";
}
}
}
}
哦,我看错题目了,原来你不是使用ActiveX去自动填写用户和密码,那是要自动填写ActiveX中的用户名和密码框,就像支付宝、淘宝的网页。
值得研究
看来是这一个需求是吧?如果你愿意的的话, 你可以把这个网页地址告诉我, 我来尝试一下, 应该可以搞定.Hook和这个自动输入没有任何关联.
HOOK不一定能成功,因为一些重要的ActiveX可能使用了NP技术,你可以看看支付宝的登陆页面,连复制粘贴都屏蔽了,可能还屏蔽了其他的API函数
http://www.alipay.com/