控制台和mvc中使用webbrowser

本文档介绍了如何在控制台和MVC应用中利用WebBrowser组件进行网页截屏。关键在于确保组件在STA线程中运行,通过设置[STAThread]属性解决控制台程序中的线程问题,并在MVC中通过新开线程并设置线程属性来实现。截屏完成后,将图像保存为PNG文件。
摘要由CSDN通过智能技术生成

用webbrowser主要是为了截屏

但必须注意的是,用webbrowser必须在一个所谓的叫单一线程单元的线程中执行,一般你直接 new webbrowser会报错的

控制台程序,在main上加个[STAThread]

 class Program
    {
        static System.Windows.Forms.WebBrowser wb;
        [STAThread]
        static void Main(string[] args)
        {
            wb = new System.Windows.Forms.WebBrowser();
            wb.DocumentCompleted += wb_DocumentCompleted;
            wb.Navigate("http://10.5.10.143:9091/");
         
            Console.Out.Write(wb.DocumentText);
            while (wb.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)
            {
                System.Windows.Forms.Application.DoEvents(); //避免假死,若去掉则可能无法触发 DocumentCompleted 事件。
            }
        }


        static void wb_Documen

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值