c#打造駭客工具系列之一網頁重新整理器

來源:互聯網
上載者:User

網頁重新整理器,顧名思義,就是用來重新整理網頁用的,可以大大提高你的空間人氣,網路上面有名的網頁重新整理器有華宇網頁自動重新整理器,(http://hnny.skycn.com/down/hy2008b.zip),用過之後感覺還差不多,就是介面有些不好看,其實原理都很簡單,就是用定時器控制項定時執行事件,將網頁開啟或者重新整理而已,在此不多說,以免大俠們笑話,先就發張吧!

 

 

 

首先呢,按照上面圖片所示樣子添加好控制項,並按照一定的命名規則將控制項命名好,其實還有兩個隱藏的控制項,一個就是Timer控制項(用來定時出發事件),一個是ToolTip控制項(用來提示使用者相關資訊),布置好介面後,接下來就開始寫代碼啦!

 

首先呢,讓程式一載入地址欄就獲得焦點,記住,這裡可以設定地址欄的Tab屬性來控制,但是c#與VB有一個區別就是:不能在Load事件中讓某個控制項獲得焦點,而要寫在Form的Shown事件中。

private void Form1_Shown(object sender, EventArgs e)
        {
            cboxUrl.Focus();
        }

 

為了保證程式的正確運行,我們還必須做一些檢測,例如檢測網址是否正確,時間間隔是否符合要求等等,防止程式中途出現意外退出,當然,你用try---catch語句也行。

//檢驗網址和時間間隔是否正確
        private bool check()
        {           
            if (cboxUrl.Text == "")
            {
                MessageBox.Show("請輸入要重新整理的網址", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cboxUrl.Focus();
                return false;
            }
            if (txtTime.Text == "" || Convert.ToSingle (txtTime.Text) <= 0)
            {
                MessageBox.Show("請輸入正確的時間間隔", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtTime.Text = "";
                txtTime.Focus();
                return false;
            }
            return true;
        }

 

接下來呢,就是單擊開始按鈕的代碼咯,我這裡用了兩種形式,一種是重新整理形式,一種是轉到形式,我試過了,有些網頁要用重新整理形式才能增加訪問量,而有些要用轉到的形式。

 

private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                if (check())
                {
                    if (btnOk.Text == "開始重新整理")
                    {
                        string url = cboxUrl.Text.Trim();
                        webMain.Navigate(url);//載入網頁                       
                        //if (webMain.IsBusy == true)
                        //{
                        //    gbWeb.Text = "正在載入網頁";
                        //}
                        //else
                        //{
                        //    gbWeb.Text = webMain.Document.Title;
                        //}
                        timer1.Interval = Convert.ToInt32(Convert.ToSingle(txtTime.Text) * 1000);
                        timer1.Start();
                        btnOk.Text = "停止重新整理";
                        gbSet.Enabled = false;
                        gbModle.Enabled = false;                       
                    }
                    else
                    {
                        timer1.Stop();
                        btnOk.Text = "開始重新整理";
                        labNum.Text = "0";
                        gbSet.Enabled = true;
                        gbModle.Enabled = true;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }           
        }       

 

下面才是關鍵的Timer控制項的事件咯。

private void timer1_Tick(object sender, EventArgs e)
        {
            string url = cboxUrl.Text.Trim();
            if (rbtnF5.Checked == true)
            {
                webMain.Refresh();//重新整理網頁
            }
            else
            {
                webMain.Navigate(url);//轉到網頁               
            }
           
            labNum.Text = Convert.ToString(Convert.ToInt32(labNum.Text) + 1);
        }

 

好啦!基本就到此結束啦,可是還能不能增加點什麼呢,可以的,譬如運行時我不想讓他顯示在工作列中的話,我們可以將它縮小的托盤啊。

 

private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.ShowInTaskbar = false;
                this.notifyIcon1.Visible = true;
            }
        }

 

那又怎樣還原呢,這還不簡單,雙擊事件嘛!

 

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

 

OK,原始碼中還有一些其他修飾的,請下載

如果朋友們覺得此系列文章好的話,需要繼續寫下去的話,請多多留言鼓勵鼓勵哈!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.