如何判断本机是否已经和InterNet连通?谢谢!!

解决方案 »

  1.   

    Code说话的例子:
    void On_Timer()
    {
        try
        {
            // Create an HTTP Web request
            // to an Uri that's always available.
            HttpWebRequest request = (HttpWebRequest) 
               HttpWebRequest.Create("www.google.com");        // Perform GET
            HttpWebResponse response = 
               (HttpWebResponse) request.GetResponse();
            if (HttpStatusCode.OK == response.StatusCode)
            {
                // HTTP = 200, close the request and return true
                response.Close();
                e.Result = true;
            }
            else
            {
                // Other status; return false
                e.Result = false;
            }
        }
        catch (WebException)
        {
            // Deffinitely offline
            e.Result = false;
        }
    }
      

  2.   

    catch(System.Net.WebException ee)
    {
    MessageBox.Show("请确认与互联网相连接");
    }
      

  3.   

    [DllImport("wininet.dll")] 
    private extern static bool InternetGetConnectedState(out int Description,int ReservedValue); public static bool IsConnectedToInternet() 

    int Desc=0; 
    return InternetGetConnectedState(out Desc,0) ; 

    Another method
    public string NetStatus()
                    {
                            ManagementObjectCollection objects;
                            string status = "";
                            ManagementObjectSearcher searcher = new ManagementObjectSearcher();
                            searcher.Query.QueryString = "Select * From Win32_NetworkAdapter ";
                            objects = searcher.Get();
                            foreach(ManagementObject obj in objects)
                            {
                                    foreach(PropertyData p in obj.Properties)
                                    {
                                            if(p.Name.Equals("NetConnectionStatus"))
                                            {
                                                    if(p.Value!=null)
                                                    {
                                                            status = p.Value.ToString();
                                                    }
                                            }
                                    }
                            }
                            switch(status)
                            {
                                    case "0":
                                            return "Disconnected";
                                    case "1":
                                            return "Connecting ...";
                                    case "2":
                                            return "Connected";
                                    case "3":
                                            return "Disconnecting ...";
                                    case "4":
                                            return "Hardware not present";
                                    case "5":
                                            return "Hardware disabled";
                                    case "6":
                                            return "Hardware malfunction";
                                    case "7":
                                            return "Media disconnected";
                                    case "8":
                                            return "Authenticating";
                                    case "9":
                                            return "Authentication succeeded";
                                    case "10":
                                            return "Authentication failed";
                                    default:
                                            return "";
                            }
                    }