資源簡介
在網絡不穩定時,經常會通過PING來看網速!自作了C#PING工具。
主要功能:
ping 指定網址或IP。自動記錄ping的信息,下次啟動自動開啟。
顯示當前ping值和平均ping值。還有連接失敗的錯誤率。
可選中列表,使用CTRL + C 鍵復制ping的結果。
界面如下:
工具下載:http://files.cnblogs.com/zjfree/NetPing.rar
源碼下載:http://files.cnblogs.com/zjfree/NetPing_src.rar
開發環境:WIN2003 + VS2005 + .NET2.0 + C#
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Net.NetworkInformation;
using?System.Threading;
using?System.Net;
using?System.IO;
namespace?NetPing
{
public?partial?class?Form1?:?Form
{
public?Form1()
{
InitializeComponent();
}
private?AutoResetEvent?waiter?=?new?AutoResetEvent(false);
private?Ping?ping?=?new?Ping();
private?int?pingIndex?=?0;
private?string?curUrl?=?““;
private?string?MyIp?=?““;
private?void?Form1_Load(object?sender?EventArgs?e)
{
backgroundWorker1.RunWorkerAsync();
ImageList?l?=?new?ImageList();
l.ImageSize?=?new?Size(1?23);
listData.SmallImageList?=?l;
ping.PingCompleted?+=?new?PingCompletedEventHandler(ping_PingCompleted);
string?strUrl?=?Properties.Settings.Default.strUrl;
string[]?strs?=?strUrl.Split(‘‘);
foreach?(string?r?in?strs)
{
AddPing(r);
}
}
private?void?btnPing_Click(object?sender?EventArgs?e)
{
txtPing.Text?=?txtPing.Text.Trim().ToLower();
if?(txtPing.Text?==?““)
{
txtPing.Focus();
return;
}
AddPing(txtPing.Text);
txtPing.Text?=?““;
txtPing.Focus();
}
private?void?AddPing(string?url)
{
if?(url?==?““)
{
return;
}
foreach?(ListViewItem?r?in?listData.Items)
{
if?(r.Text?==?url)
{
return;
}
}
ListViewItem?item?=?new?ListViewItem();
item.Tag?=?“0|0“;
item.UseItemstyleForSubItems?=?false;
item.Text?=?url;
item.SubItems.Add(“-“);
item.SubItems.Add(“0“);
item.SubItems.Add(“0“);
item.SubItems.Add(“0/0?100%“);
listData.Items.Add(item);
if?(listData.Items.Count?==?1)
{
runPing();
}
SaveUrl();
}
private?void?SaveUrl()
{
string?strUrl?=?““;
foreach?(ListViewItem?r?in?listData.Items)
{
strUrl?+=?r.Text?+?““;
}
Properties.Settings.Default.strUrl?=?strUrl.Trim(‘‘);
Properties.Settings.Default.Save();
}
private?void?runPing()
{
if?(listData.Items.Count?==?0)
{
return;
}
pingIndex++;
if?(pingIndex?>=?listData.Items.Count)
{
pingIndex?=?0;
}
if?(listData.Items.Count?5)
{
Thread.Sleep(100);
}
curUrl?=?listData.Items[pingIndex].Text;
ping.SendAsync(curUrl?waiter);
}
private?void?ping_PingCompleted(object?sender?PingCompletedEventArgs?e)
{
ListViewItem?item?=?null;
foreach?(ListViewItem?r?in?listData.Items)
{
if?(r.Text?==?curUrl)
{
item?=?r;
break;
}
}
if?(item?!=?null)
{
long?l?=?10000;
bool?isError?=?true;
if?(!e.Cancelled?&&?e.Error?==?null?&&?e.Reply.Status?==?IPStatus.Success)
{
item.SubItems[1].Text?=?e.Reply.Address.ToString();
l?=?e.Reply.RoundtripTime;
isError?=?false;
}
if?(l?>?9999)
{
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????790??2012-02-21?16:14??Backup\NetPing\app.config
?????文件???????5326??2012-02-22?10:26??Backup\NetPing\Form1.cs
?????文件???????6157??2012-02-22?10:24??Backup\NetPing\Form1.Designer.cs
?????文件???????6019??2012-02-22?10:24??Backup\NetPing\Form1.resx
?????文件???????3256??2012-02-21?16:14??Backup\NetPing\NetPing.csproj
?????文件????????388??2012-02-21?14:25??Backup\NetPing\Program.cs
?????文件???????1172??2012-02-21?14:25??Backup\NetPing\Properties\AssemblyInfo.cs
?????文件???????2522??2012-02-21?14:25??Backup\NetPing\Properties\Resources.Designer.cs
?????文件???????5612??2012-02-21?14:25??Backup\NetPing\Properties\Resources.resx
?????文件???????1530??2012-02-21?16:14??Backup\NetPing\Properties\Settings.Designer.cs
?????文件????????404??2012-02-21?16:14??Backup\NetPing\Properties\Settings.settings
?????文件????????910??2012-02-21?14:25??Backup\NetPing.sln
????..A..H.?????22016??2012-02-22?10:28??Backup\NetPing.suo
?????文件????????790??2012-02-21?16:14??NetPing\app.config
?????文件??????15360??2012-05-12?18:16??NetPing\bin\Debug\NetPing.exe
?????文件????????790??2012-02-21?16:14??NetPing\bin\Debug\NetPing.exe.config
?????文件??????36352??2012-05-12?18:16??NetPing\bin\Debug\NetPing.pdb
?????文件??????11608??2012-05-12?18:17??NetPing\bin\Debug\NetPing.vshost.exe
?????文件????????790??2012-02-21?16:14??NetPing\bin\Debug\NetPing.vshost.exe.config
?????文件??????14848??2012-05-12?18:17??NetPing\bin\Release\NetPing.exe
?????文件????????790??2012-02-21?16:14??NetPing\bin\Release\NetPing.exe.config
?????文件??????34304??2012-05-12?18:17??NetPing\bin\Release\NetPing.pdb
?????文件??????11608??2012-05-12?18:24??NetPing\bin\Release\NetPing.vshost.exe
?????文件????????790??2012-02-21?16:14??NetPing\bin\Release\NetPing.vshost.exe.config
?????文件????????490??2010-03-17?22:39??NetPing\bin\Release\NetPing.vshost.exe.manifest
?????文件???????5326??2012-02-22?10:26??NetPing\Form1.cs
?????文件???????6157??2012-02-22?10:24??NetPing\Form1.Designer.cs
?????文件???????6019??2012-02-22?10:24??NetPing\Form1.resx
?????文件???????3693??2012-05-12?18:12??NetPing\NetPing.csproj
?????文件???????5383??2012-05-12?18:16??NetPing\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
............此處省略51個文件信息
- 上一篇:c# SMTP郵件發送程序,如不好用,我撞墻!
- 下一篇:163郵箱登錄
評論
共有 條評論