写代码判断软件是否联网

yellowtree12 2011-10-25 08:30:18
怎样写代码判断我选择的软件是否是联网状态还是断开,各位大侠可以给个实例代码给我参考下嘛?
...全文
700 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
才才 2013-01-12
  • 打赏
  • 举报
回复
请问一下,如何判断一个进程是否联网呢??
YapingXin 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 starfd 的回复:]
这个只能保证网络连接,就是局域网连接了但实际外网不连接它也是返回表示连接的状态的

最可靠的还是ping
[/Quote]


这就得分具体的情况了

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

如果是要求判断机器是否能连到外网的一个服务,那么可以考虑用ping。(并非一定要发出ping这个命令,如果那个服务提供了一个服务状态查询,或者一个‘web ping’,那么这样的服务接口更好。)
咿呀大河马 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]
赞同!!
  • 打赏
  • 举报
回复
[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的方法更具有通用性。
咿呀大河马 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的东西太少了
  • 打赏
  • 举报
回复
简单点,运行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("网络处于未连接状态");

}
}

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧