c#打造黑客工具系列之一网页刷新器
网页刷新器,顾名思义,就是用来刷新网页用的,可以大大提高你的空间人气,网络上面有名的网页刷新器有华宇网页自动刷新器,下载地址(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,源代码中还有一些其他修饰的,请下载
如果朋友们觉得此系列文章好的话,需要继续写下去的话,请多多留言鼓励鼓励哈!