当前位置: 首页 > news >正文

.Net 6.0 Windows平台如何判断当前电脑是否联网

最近在工作中开发需要判断当前电脑是否联网的需求,在网上找了一个调用window API来判断本机是否联网。具体请看下面介绍:

1.方法一(调用winAPI)

[DllImport("wininet")]
public static extern bool InternetGetConnectedState(out int conState, int reder);/// <summary>
/// 判断本机是否联网
/// </summary>
/// <returns></returns>
[Obsolete("当前方法不准,在以太网卡已连接状态,实际不能上网(无Internet访问),会误判为联网状态")]
public static bool CheckInternetAccessOld()
{return InternetGetConnectedState(out _, 0) ? true : false;
}

这个winAPI在使用以太网卡连接的时候,会存在误判的情况。(明明不能上网,却返回true)

2.方法2(获取当前网络状态)【推荐!!!】

/// <summary>
/// 检查本机是否联网,联网返回true,否则返回false
/// </summary>
/// <returns></returns>
public static bool CheckInternetAccess()
{var connectProfile = NetworkInformation.GetInternetConnectionProfile();if (null == connectProfile) return false;//没有连接的网络var networkLevel = connectProfile.GetNetworkConnectivityLevel();if (networkLevel == NetworkConnectivityLevel.InternetAccess)return true;//Internet 访问elsereturn false;
}

经过对比测试,方法二可以弥补方法一以太网卡误判的情况。建议使用这种方式。

相关文章:

  • 重头开始嵌入式第四十四天(硬件 ARM裸机开发)
  • 外国电影演员识别系统源码分享
  • 当大语言模型应用到教育领域时会有什么火花出现?
  • SD(Stable Diffusion)模型的基本工作数据流
  • 批量发送邮件:性能优化与错误处理深度解析
  • 基于微信小程序爱心领养小程序设计与实现(源码+定制+开发)
  • 算法刷题笔记 约数个数(详细注释的C++实现)
  • 【Java】单元测试【主线学习笔记】
  • 通俗易懂的Latex使用步骤
  • RNA-seq通用代码-生物信息学pipeline001
  • 从博客到ICT社区:深化学习与交流的桥梁
  • 端上自动化测试平台实践
  • 不再兼容安卓,鸿蒙系统未来胜算几何?
  • 智能工厂的设计软件 设计目标:关乎对象的实践法则的认识论原则
  • 《论文阅读》 用于产生移情反应的迭代联想记忆模型 ACL2024
  • [译]Python中的类属性与实例属性的区别
  • JAVA之继承和多态
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • oschina
  • scala基础语法(二)
  • SwizzleMethod 黑魔法
  • 缓存与缓冲
  • 将 Measurements 和 Units 应用到物理学
  • 目录与文件属性:编写ls
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 从如何停掉 Promise 链说起
  • ​低代码平台的核心价值与优势
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (C语言)共用体union的用法举例
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (转载)CentOS查看系统信息|CentOS查看命令
  • ****三次握手和四次挥手
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net mvc部分视图
  • .NET MVC之AOP
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .net6使用Sejil可视化日志
  • .net操作Excel出错解决
  • .net和jar包windows服务部署
  • .NET性能优化(文摘)
  • @ComponentScan比较
  • [ NOI 2001 ] 食物链
  • [2019红帽杯]Snake
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [2544]最短路 (两种算法)(HDU)
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • [C++] 统计程序耗时
  • [FUNC]判断窗口在哪一个屏幕上
  • [HNOI2006]鬼谷子的钱袋
  • [IE 技巧] 显示/隐藏IE 的菜单/工具栏
  • [Java] IDEA Scala环境搭建
  • [Kubernetes]4. 借助腾讯云TKE快速创建Pod、Deployment、Service部署k8s项目
  • [Linux] CE知识随笔含Ansible、防火墙、VIM、其他服务