日期:2014-05-20 浏览次数:21374 次
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
public bool IsInternetConnected()
{
int i = 0;
return InternetGetConnectedState(out i, 0);
}
------解决方案--------------------
AutoResetEvent waiter = new AutoResetEvent(false);
Ping myPing = new Ping();
myPing.PingCompleted += new PingCompletedEventHandler(myPing_PingCompleted);
string data = "OK";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 10000;
PingOptions options = new PingOptions(64, true);
myPing.SendAsync(_AppState.ServerName, timeout, buffer, options, waiter);
或
IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] connections = properties.GetActiveTcpConnections();
foreach (TcpConnectionInformation info in connections) {
if (info.RemoteEndPoint.Equals(targetEndPoint)) {
_AppState.OnlineStatus = Constant.ONLINE_STATUS_ONLINE;
isOnline = true;
break;
}
}
或
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
for (int i = 0; i < addressList.Length; i ++)
{
s += addressList[i].ToString();
}
------解决方案--------------------
string st = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
System.Array ar;
ar = (System.Array)(mo.Properties["IpAddress"].Value);
st = ar.GetValue(0).ToString();
break;
}
}
moc = null;
mc = null;
------解决方案--------------------
照顾楼主不认识VB.NET的语法,转换为C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Net;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
WebClient wb = new WebClient();
String strIP = "";
String strContent = "";
Regex regIP = new Regex("\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}");
try
{
strContent = wb.DownloadString("http://www.ip138.com/ips8.asp");
if (strContent.IndexOf("IP地址查询") >= 1)
{
textBox1.Text = "爽,可以上网!";
strIP = regIP.Match(strContent).ToString();
if (strIP.Trim() != "")
{
textBox2.Text = "俺的IP是:" + strIP;
}
else
{
textBox2.Text = "虽然俺上网了,但是俺是黑户,没IP!";
}
}
}
catch
{
textBox1.Text = "真不爽,不能上网,我去炸了电信!";
textBox2.Text = "不能上网,没IP!";
}
}
}
}