Будет ли работать код из Приложения 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(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д