写代码判断软件是否联网

yellowtree12 2011-10-25 08:30:18
怎样写代码判断我选择的软件是否是联网状态还是断开,各位大侠可以给个实例代码给我参考下嘛?
...全文
545 点赞 收藏 18
写回复
18 条回复
才才 2013年01月12日
请问一下,如何判断一个进程是否联网呢??
回复 点赞
YapingXin 2011年10月26日
[Quote=引用 14 楼 starfd 的回复:]
这个只能保证网络连接,就是局域网连接了但实际外网不连接它也是返回表示连接的状态的

最可靠的还是ping
[/Quote]


这就得分具体的情况了

如果仅仅要求判断是否联网,那么还是应该用windows api。并非因为我是技术控,而是因为,假如机器确实已经联网,但网络内的路由器坏掉了,那么你用ping的话其实不能反映真实情况。

如果是要求判断机器是否能连到外网的一个服务,那么可以考虑用ping。(并非一定要发出ping这个命令,如果那个服务提供了一个服务状态查询,或者一个‘web ping’,那么这样的服务接口更好。)
回复 点赞
a78782295 2011年10月26日
[Quote=引用 14 楼 starfd 的回复:]
引用 1 楼 dongxinxi 的回复:
简单点,运行cmd ping
不过最有效的还是调用Win_API

C# code


//导入dll

[DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]

//判断网络状况的方法,返回值true为连接,false为未连接
public ext……
[/Quote]
赞同!!
回复 点赞
娃都会打酱油了 2011年10月26日
[Quote=引用 1 楼 dongxinxi 的回复:]
简单点,运行cmd ping
不过最有效的还是调用Win_API

C# code


//导入dll

[DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]

//判断网络状况的方法,返回值true为连接,false为未连接
public extern static ……
[/Quote]

这个只能保证网络连接,就是局域网连接了但实际外网不连接它也是返回表示连接的状态的

最可靠的还是ping
回复 点赞
WangxiaoluWang 2011年10月26日
[Quote=引用 1 楼 dongxinxi 的回复:]
简单点,运行cmd ping
不过最有效的还是调用Win_API

C# code

//导入dll

[DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]

//判断网络状况的方法,返回值true为连接,false为未连接
public extern static bo……
[/Quote]mark
回复 点赞
hen_ai_hen_ai_ni 2011年10月26日
网络随便搜索一下C#的ping操作吧,其实在搞这个之前,偶曾经看过VB.net直接就提供了一个ping函数,自从那之后我就开始喜欢VB.net了,虽然我编程全是用的C#
回复 点赞
YapingXin 2011年10月26日
[Quote=引用 10 楼 a78782295 的回复:]

学习了, 感觉ping 是最简单的。。
[/Quote]

ping更简单,但windows api的方法更具有通用性。
回复 点赞
a78782295 2011年10月26日
学习了, 感觉ping 是最简单的。。
回复 点赞
YapingXin 2011年10月26日
[Quote=引用 3 楼 wy811007 的回复:]

我擦 api 我看看
最近很喜欢api 因为用途很广泛 可惜c# 介绍api的东西太少了
[/Quote]

此言差矣。

Windows API是不管调用它的是C/C++还是C#的。

也就是说,你尽管可以去MSDN上查Windows API,查到了以后,无论C/C++还是C#还是Delphi还是Java都能够调用。

Windows API既不是C++的特性,也不是C#的特性,它是Windows的特性。
回复 点赞
wjfwd2009 2011年10月26日
留下记号
回复 点赞
ailin84 2011年10月26日
这个应该用途比较多的
回复 点赞
etherealkite 2011年10月26日
学习API
回复 点赞
henlyming 2011年10月26日
学习了
回复 点赞
宝_爸 2011年10月26日
学习了。
回复 点赞
wy811007 2011年10月26日
我擦 api 我看看
最近很喜欢api 因为用途很广泛 可惜c# 介绍api的东西太少了
回复 点赞
IE11下面经常卡到爆 2011年10月25日
简单点,运行cmd ping
不过最有效的还是调用Win_API

//导入dll

[DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]

//判断网络状况的方法,返回值true为连接,false为未连接
public extern static bool InternetGetConnectedState(out int conState, int reder);



//在你的button事件中写下如下代码就行

private void btnNetStatus_Click(object sender, EventArgs e)
{
int n =0;
if (InternetGetConnectedState(out n,0))

{
MessageBox.Show("网终处于连接状态");

}
else

{
MessageBox.Show("网络处于未连接状态");

}
}
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告