Будет ли работать код из Приложения Windows Forms в Консольном приложении? - C#

Узнай цену своей работы

Формулировка задачи:

Имеется исходник, можно ли его заставить работать в Консольном приложении? Ведь там нету кнопок,picturebox и т.д. Вот код:
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using System.Net;
 
using Akumu.Antigate;
using Akumu.Antigate.Tools;
 
namespace ReCaptchaExample
{
    public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            button2.Enabled = false;
            worker.RunWorkerAsync();
        }
 
        private void worker_DoWork(object sender, DoWorkEventArgs e)
        {
            string url = pageUrl.Text.Trim();
 
            if (string.IsNullOrEmpty(url))
            {
                MessageBox.Show("Укажите URL");
                return;
            }
 
            using (WebClient client = new WebClient())
            {
                // загружаем страницу содержащую ReCaptcha
                string page = client.DownloadString(url);
 
                try
                {
                    // массив ссылок на js 
                    string[] js = ReCaptcha.GetObjectsUrlsOnPage(page);
 
                    if (js == null)
                    {
                        MessageBox.Show("ReCaptcha не обноружена на указанной странице");
                    }
                    else
                    {
                        string jsPage = client.DownloadString(js[0]);
 
                        // работаем с первым js на странице
                        ReCaptchaObject rco = ReCaptcha.GetObject(jsPage);
 
                        if (rco == null)
                            MessageBox.Show("ReCaptcha на странице содержит ошибку");
                        else
                        {
                            pictureBox1.Invoke((MethodInvoker)delegate { pictureBox1.ImageLocation = rco.ImageURL; });
                            textBox1.Invoke((MethodInvoker)delegate { textBox1.Text = rco.Challenge; });
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace, ex.GetType().ToString());
                }
            }
 
        }
 
        private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            button2.Enabled = true;
        }
    }
}

Решение задачи: «Будет ли работать код из Приложения Windows Forms в Консольном приложении?»

textual
Листинг программы
        private static void DoWork()
        {
            Console.WriteLine("Введите URL: ");
            string url = Console.ReadLine();
            using (WebClient client = new WebClient())
            {
                // загружаем страницу содержащую ReCaptcha
                string page = client.DownloadString(url);
                try
                {
                    // массив ссылок на js 
                    string[] js = ReCaptcha.GetObjectsUrlsOnPage(page);
 
                    if (js == null)
                    {
                        Console.WriteLine("ReCaptcha не обноружена на указанной странице");
                    }
                    else
                    {
                        string jsPage = client.DownloadString(js[0]);
 
                        // работаем с первым js на странице
                        ReCaptchaObject rco = ReCaptcha.GetObject(jsPage);
 
                        if (rco == null)
                           Console.WriteLine("ReCaptcha на странице содержит ошибку");
                        else
                        {
                            Console.WriteLine(rco.Challenge);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                }
            }
 
        }
        static void Main(string[] args)
        {
            DoWork();
            Console.ReadKey();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы