读书人

C#中怎么可以及时的获取网络状态

发布时间: 2012-09-28 00:03:35 作者: rapoo

C#中怎样可以及时的获取网络状态?
winform程序需要联网才能操作,怎样监控网络状态,网络只要中断就给用户提示信息《网络中断》。

[解决办法]
用数据包啊,ping个ip地址或网址不通就是网络中断了
[解决办法]

探讨

不好意思 刚才没写完


//导入dll
[DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]
//判断网络状况的方法,返回值true为连接,false为未连接
public extern static bool InternetGetConnectedState(out int conState, ……

[解决办法]
C# code
 public delegate void MyInvoke(string str);        private void Form1_Load(object sender, EventArgs e)        {            Thread t1 = new Thread(GetNetStatus);            t1.IsBackground = true;            t1.Start();        }        private void SetText(string s)        {            if (textbox1.InvokeRequired)            {                MyInvoke _myInvoke = new MyInvoke(SetText);                this.Invoke(_myInvoke, new object[] { s });            }            else            {                textbox1.Text = s;            }        }               private void  GetNetStatus()                {                  System.Timers.Timer t = new System.Timers.Timer();                  t.Interval = 1000;//设置时间间隔为100ms                  t.AutoReset = true;//设置是执行一次(false)还是一直执行(true)                  t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;                  t.Elapsed += new System.Timers.ElapsedEventHandler(IsInternetConnected);                  //到达时间的时候执行事件                                                    }              [DllImport("wininet.dll")]              private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);              private  void IsInternetConnected(object source, System.Timers.ElapsedEventArgs e)              {                  int i = 0;                  string message = "";                  bool flag = InternetGetConnectedState(out i, 0);                  if (flag)                  {                  message = "网络连接正常";                  }                  else                  {                  message = "网络连接中断";                  }                  SetText(message);                                } 

读书人网 >C#

热点推荐