Hola Aqui les dejo una aplicacion llamada Serial Killer que su funcion basica es buscar seriales para programas esta programado 100% en c# y demuestra el uso de las clases Webbrowser() , HtmlDocument() , WebClient() y HtmlElement Etc El programa esta 100% funcional aunque tiene pequeños bugs pero como sea ahi les dejo el codigo para que lo analizen asi como el programita para que lo descarguen —–>SerialKiller V 1.0 <——-
namespace SerialKiller
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Aqui creamos e instanciamos los objetos que necesitamos
CheckedListBox checkedListBox2 = new CheckedListBox();
string[] urlarray;
WebBrowser[] mywebbrowsers;
HtmlDocument myhtmldocument;
WebClient mywebclient = new WebClient();
WebBrowser mywebbrowser1 = new WebBrowser();
Uri myuri = new Uri("http://youserials.com/najdem.php?q=");
// En este evento guardamos y nos aseguramos que haya un criterio de busqueda
private void button1_Click(object sender, EventArgs e)
{
try
{
string criterio = textBox1.Text;
if (criterio == "")
{
MessageBox.Show("Ingresa terminos de busqueda", "Aztekmindz.org", MessageBoxButtons.OK);
return;
}
mywebbrowser1.Navigate(myuri + criterio);
button1.Enabled = false;
button2.Enabled = true;
}
catch (Exception a)
{
MessageBox.Show(a.Message);
}
}
// Aqui esta la creacion del evento que se ejecutara cuando nuestro webbrowser haya navegado
// y cargado completamente el documento web
private void Form1_Load(object sender, EventArgs e)
{
mywebbrowser1.Navigating += new WebBrowserNavigatingEventHandler(mywebbrowser1_Navigating);
mywebbrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(mywebbrowser1_DocumentCompleted);
button2.Enabled = false;
button3.Enabled = false;
}
// Aqui hacemos que nuestra progress bar avance de acuerdo al progreso que lleva el
// webbrowser cargando el documento
void mywebbrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
toolStripProgressBar1.PerformStep();
}
// Aqui el documento que tenemos cargado en el webbrowser lo pasamos a un HtmlDocument()
// y usamos un foreach para buscar dentro terminos especificos en este caso links
private void mywebbrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
button1.Enabled = true;
toolStripProgressBar1.Value = toolStripProgressBar1.Maximum;
textBox1.Text = "";
myhtmldocument = mywebbrowser1.Document;
foreach (HtmlElement link in myhtmldocument.Links)
{
if (link.OuterHtml.Contains("nasiel.php")
)
{
checkedListBox1.Items.Add(link.InnerText);
}
}
foreach (HtmlElement link2 in myhtmldocument.Links)
{
if (link2.OuterHtml.Contains("nasiel.php")
)
{
checkedListBox2.Items.Add(link2.GetAttribute("href"));
}
}
toolStripProgressBar1.Value = 0;
}
private void button2_Click(object sender, EventArgs e)
{
foreach (int indexChecked in checkedListBox1.CheckedIndices)
{
checkedListBox2.SetItemChecked(indexChecked, true);
}
int j = 0;
urlarray = new string[checkedListBox2.CheckedItems.Count];
foreach (string itemChecked in checkedListBox2.CheckedItems)
{
urlarray[j] = itemChecked.ToString();
j++;
}
mywebbrowsers = new WebBrowser[urlarray.Length];
label1.Text = "Seleccionaste " + mywebbrowsers.Length.ToString() + " Seriales para Descarga";
button3.Enabled = true;
}
private void salirToolStripMenuItem1_Click(object sender, EventArgs e)
{
MessageBox.Show("AztekMindz.org");
Application.Exit();
}
private void reiniciarToolStripMenuItem1_Click(object sender, EventArgs e)
{
Application.Restart();
}
private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i < urlarray.Length; i++)
{
finalurl(urlarray[i]);
}
for (int i = 0; i < toolStripProgressBar1.Maximum; i++)
{
toolStripProgressBar1.Value = i;
}
}
static WebBrowser miw = new WebBrowser();
public static void finalurl(string url)
{
miw.Navigate(url);
miw.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(miw_DocumentCompleted);
}
static void miw_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlDocument midoc = miw.Document;
foreach (HtmlElement paras in midoc.GetElementsByTagName("DIV"))
{
if (paras.InnerHtml.Contains("S/N:"))
{
MessageBox.Show(paras.OuterText);
}
}
}
private void nuevaBusquedaToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Restart();
}
private void acercaDeToolStripMenuItem_Click(object sender, EventArgs e)
{
splash sp = new splash();
sp.ShowDialog();
}
}
}
EXCELENTE BUSCADOR DE SERIALES, UFFF QUEDE ENCANTADA =) THANKS ME SIRVIO DE MUCHO ADEMAS SUPER PRACTICO BBXD
Щå®ia€liz@}’-,-’-
GRACIAS POR EL PROGRAMA ESTA BUENO PERO QUE PENA QUE NO ENCONTRE EL SERIAL QUE BUSCA, IGUAL GRACIAS
Alguna actualización,s eñor ?