解决c#利用WebBrowser截取验证码图片无法获取的问题

 1 /// <summary>
 2         /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容
 3         /// </summary>
 4         /// <param name="WebCtl">WebBrowser控件</param>
 5         /// <param name="ImgeTag">IMG元素</param>
 6         /// <returns>IMG对象</returns>
 7         private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag)
 8         {
 9             HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument;
10             HTMLBody body = (HTMLBody)doc.body;
11             IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
12             IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址
13  
14             Image oldImage = Clipboard.GetImage();
15             rang.add(Img);
16             rang.execCommand("Copy", false, null);  //拷贝到内存
17             Image numImage = Clipboard.GetImage();
18             try
19             {
20                 Clipboard.SetImage(oldImage);
21             }
22             catch
23             {
24             }
25  
26             return numImage;
27         }

上面这段代码正常情况下可以获取到验证码,在有的win2003上回出现问题。

在以前的开发中由于禁用了WebBrowser的错误提示,导致无任何错误提示,不知道什么原因。

处理方法:打开ie Internet选项->安全->自定义级别->允许剪切板进行编程访问,启用这个选项

转载于:https://www.cnblogs.com/yisu/p/WebBrowser.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值