C#QQ号批量注册(二)

 

第二部:编写主窗体代码:

要实现自动保存,自动打开QQ注册网页,自动填写表单等功能:

如图:

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;
using mshtml;
using System.Runtime.InteropServices;
using System.Threading;
using System.IO;
using System.Diagnostics;

namespace QQ号批量注册
{
    public partial class Form1 : Form
    {
        public const int INTERNET_CONNECTION_MODEM = 1;
        public const int INTERNET_CONNECTION_LAN = 2;
        [System.Runtime.InteropServices.DllImport("wininet.dll")]
        public static extern bool InternetGetConnectedState(ref  int dwFlag, int dwReserved); 
        public Form1()
        {
            InitializeComponent();
        }
        #region QQ申请页面资料提交处理
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
            {
                for (int i = 1; i < 1; i++)
                {
                    if (webBrowser1.ReadyState== WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                    {
                        break;
                    }
                }
            }

            try
            {
                if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                {
                    webBrowser1.Document.GetElementById("nick").SetAttribute("value", "minot");
                    webBrowser1.Document.GetElementById("password").SetAttribute("value", "minotmin");
                    webBrowser1.Document.GetElementById("password").Focus();
                    webBrowser1.Document.GetElementById("password_again").SetAttribute("value", "minotmin");
                    webBrowser1.Document.GetElementById("year_value").Focus();
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{DOWN}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{DOWN}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{ENTER}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    webBrowser1.Document.GetElementById("month_value").Focus();
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{DOWN}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{DOWN}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{ENTER}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    webBrowser1.Document.GetElementById("day_value").Focus();
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{DOWN}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{DOWN}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                    SendKeys.SendWait("{ENTER}");
                    if (webBrowser1.ReadyState != WebBrowserReadyState.Complete && webBrowser1.IsBusy == true)
                    {
                        for (int i = 1; i < 1; i++)
                        {
                            if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                            {
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        #endregion
        #region 窗体加载
        private void Form1_Load(object sender, EventArgs e)
        {
            this.webBrowser1.Url=new Uri("http://zc.qq.com/chs/index.html");
        }
        #endregion
        #region 注册按钮,提交注册
        private void btnRegister_Click(object sender, EventArgs e)
        {
            register();
        }
        public void register()
        {

            System.Int32 dwFlag = new int();
            do{
                string register = webBrowser1.Document.Body.OuterHtml;
                if (register.Contains("我已阅读并同意相关服务条款"))
                {
                    webBrowser1.Document.GetElementById("submit").InvokeMember("click");
                }
                do
                {
                    if (webBrowser1.ReadyState == WebBrowserReadyState.Complete && webBrowser1.IsBusy == false)
                    {
                        string htmlcode = webBrowser1.Document.Body.OuterHtml;
                        if (htmlcode.Contains("申请成功"))
                        {
                            this.qqNumber.Text = this.qqNumber.Text + "\n" + "QQ号:" + webBrowser1.Document.GetElementById("newUin").InnerText
                            + "注册时间" + DateTime.Now.ToString();//显示QQ号
                            saveFile();//保存到本地
                        }
                        else
                        {
                           // ADSLAgain();
                            MessageBox.Show("重新连接!");
                        }
                        break;
                    }
                } while (2 > 1);
            } while ((dwFlag & INTERNET_CONNECTION_MODEM) != 0);
            //this.webBrowser1.Url = new Uri("http://zc.qq.com/chs/index.html");
        }
        #endregion
        #region 只在当前窗口中打开,禁止ie打开
        private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
        {
            this.webBrowser1.Url = new Uri(((WebBrowser)sender).StatusText);
            e.Cancel = true;
        }
        #endregion
        #region QQ号的保存操作
        private void btnSave_Click(object sender, EventArgs e)
        {
            saveFile();
        }
        public void saveFile()
        {
            string filename = Application.StartupPath + @"\qq.txt";
            try
            {

                if (!File.Exists(filename))//判断文件是否存在
                {
                    FileStream fs1 = new FileStream(filename, FileMode.Create, FileAccess.Write);//创建写入文件
                    fs1.Close();
                }
                else
                {
                    ;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            try
            {
                StreamWriter writer = new StreamWriter(filename, true);
                //writer.WriteLine(qqNumber.Text + "\n");
                writer.WriteLine("\n" + "QQ号:" + webBrowser1.Document.GetElementById("newUin").InnerText
                + "注册时间:" + DateTime.Now.ToString() + "\n");
                writer.Close();
                MessageBox.Show("保存成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        #endregion
        #region 宽带重新连接
        private void btnADSLConnectAgain_Click(object sender, EventArgs e)     
        {
            ADSLAgain();
           // register();
        }
        #endregion
        public void ADSLAgain()
        {
            ADSLHelper adsl = new ADSLHelper();
            adsl.Disconnect("宽带连接");
            Thread.Sleep(3000);//停顿三秒
            adsl.Connect(this.txtADSLName.Text, this.txtADSLNumber.Text, this.txtADSLPwd.Text);
            //MessageBox.Show("宽带连接成功!");
        }//宽带重新连接
        private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Dispose();
            Application.Exit();
        }

        private void 最大化ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Normal;
            this.notifyIcon1.Visible = true;
            this.Visible = true;
        }

        private void notifyIcon1_Click(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Normal;
            this.notifyIcon1.Visible = true;
            this.Visible = true;
        }

        private void 官网ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
            myProcess.StartInfo.FileName = "iexplore.exe";
            myProcess.StartInfo.Arguments = " http://www.cn244.com/";
            myProcess.Start();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("确实要退出本系统吗?", "系统提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                this.Dispose();
                Application.Exit();
                e.Cancel = false;
            }
            else
            {
                e.Cancel = true;//阻止退出系统
            }
        }

        private void btnRefresh_Click(object sender, EventArgs e)
        {
            this.webBrowser1.Url = new Uri("http://zc.qq.com/chs/index.html");
        }//刷新网页

        private void btnDisplay_Click(object sender, EventArgs e)
        {
  this.qqNumber.Text = this.qqNumber.Text + "\n" + "QQ号:" + webBrowser1.Document.GetElementById("newUin").InnerText
  + "注册时间" + DateTime.Now.ToString();
        }
        #region 判断网络连接状态
      
        private void judgeADSL_Click(object sender, EventArgs e)
        {
            System.Int32 dwFlag = new int(); 
            if(!InternetGetConnectedState(ref dwFlag,   0)) 
            MessageBox.Show("未联网");
            if ((dwFlag & INTERNET_CONNECTION_MODEM) != 0)
                MessageBox.Show("采用调治解调器上网。"); 
            if((dwFlag   &   INTERNET_CONNECTION_LAN)!=0) 
            MessageBox.Show("采用网卡上网。");
        }
        #endregion
       
    }
}

posted on 2012-09-23 23:44  程序猴chengxuhou.com  阅读(1230)  评论(4编辑  收藏  举报

导航