首页

C# 读取 WebBrowser中的图片验证码到pictureBox 【已测试通过,附完整源码】

c#

2020-8-30

用webbrowser打开网页后,读取网页中验证码图片至 picturebox控件, .net framework 2.0和.netframework 4.0 已测试通过

注意:

 

在COM 页上, 选择 Microsoft HTML Object Library ,添加mshtml 的引用。

 使用命名空间  using mshtml。

using mshtml;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
//using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WebBrowser_Image
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.txtUrl.Text = "http://www.21744.com/login.aspx";
            this.webBrowser1.Navigate(this.txtUrl.Text);
        }

        private void btnGetImage_Click(object sender, EventArgs e)
        {
            //取得验证码
            HtmlElement ImgeTag = webBrowser1.Document.All["V_Img"];

            Image numPic = GetWebImage(webBrowser1, ImgeTag); // 得到验证码图片
            pictureBox1.Image = numPic;
        }
        /// <summary>
        /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容
        /// </summary>
        /// <param name="WebCtl">WebBrowser控件</param>
        /// <param name="ImgeTag">IMG元素</param>
        /// <returns>IMG对象</returns>
        private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag)
        {
            HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument;
            HTMLBody body = (HTMLBody)doc.body;
            IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();
            IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址

            Image oldImage = Clipboard.GetImage();
            rang.add(Img);
            rang.execCommand("Copy", false, null);  //拷贝到内存
            Image numImage = Clipboard.GetImage();
            try
            {
                Clipboard.SetImage(oldImage);
            }
            catch
            {
            }

            return numImage;
        }
    }
}
资源下载此资源下载价格为2D币(VIP免费),请先
资源文件列表
WebBrowser_Image/app.config , 117
WebBrowser_Image/bin/Debug/WebBrowser_Image.exe , 9728
WebBrowser_Image/bin/Debug/WebBrowser_Image.exe.config , 117
WebBrowser_Image/bin/Debug/WebBrowser_Image.pdb , 22016
WebBrowser_Image/bin/Debug/WebBrowser_Image.vshost.exe , 21464
WebBrowser_Image/bin/Debug/WebBrowser_Image.vshost.exe.config , 117
WebBrowser_Image/bin/Debug/WebBrowser_Image.vshost.exe.manifest , 490
WebBrowser_Image/Form1.cs , 1884
WebBrowser_Image/Form1.Designer.cs , 3843
WebBrowser_Image/Form1.resx , 5817
WebBrowser_Image/obj/Debug/DesignTimeResolveAssemblyReferences.cache , 1085
WebBrowser_Image/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache , 6206
WebBrowser_Image/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll , 4608
WebBrowser_Image/obj/Debug/WebBrowser_Image.csproj.FileListAbsolute.txt , 794
WebBrowser_Image/obj/Debug/WebBrowser_Image.csproj.GenerateResource.Cache , 847
WebBrowser_Image/obj/Debug/WebBrowser_Image.csproj.ResolveComReference.cache , 700
WebBrowser_Image/obj/Debug/WebBrowser_Image.exe , 9728
WebBrowser_Image/obj/Debug/WebBrowser_Image.Form1.resources , 180
WebBrowser_Image/obj/Debug/WebBrowser_Image.pdb , 22016
WebBrowser_Image/obj/Debug/WebBrowser_Image.Properties.Resources.resources , 180
WebBrowser_Image/Program.cs , 499
WebBrowser_Image/Properties/AssemblyInfo.cs , 1370
WebBrowser_Image/Properties/Resources.Designer.cs , 2872
WebBrowser_Image/Properties/Resources.resx , 5612
WebBrowser_Image/Properties/Settings.Designer.cs , 1116
WebBrowser_Image/Properties/Settings.settings , 249
WebBrowser_Image/WebBrowser_Image.csproj , 4031
WebBrowser_Image/WebBrowser_Image.sln , 921
WebBrowser_Image/WebBrowser_Image.v11.suo , 27648
没有账号? 忘记密码?

社交账号快速登录