资源简介
在网络不稳定时,经常会通过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邮箱登录
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论