C#判断本机是否连接互联网

简介: 在日常开发中,我们可能遇到一些问题,需要判断电脑是否接入网络,从而来判断是否执行程序。

在日常开发中,我们可能遇到一些问题,需要判断电脑是否接入网络,从而来判断是否执行程序。

在接入QQ头像API时,我发现,网络状态下,可以快速通过QQ号获取到QQ头像然后显示在窗体图像控件中。

但是网络断开的情况下,出现了一个问题,我们的API获取需要网络,而如果获取不到API的网站数据,他直接返回了一个错误,而且速度也变卡了,那么怎么防止这种情况呢?

接下来就是解决方法了,我们用系统提供的API来判断是否接入互联网。

调用系统API


//调用操作系统API 
[System.Runtime.InteropServices.DllImport("wininet")]

写判断方法


然后我们写一个方法,方便重复调用。

private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
//判断是否有网络方法
 private static bool IsNetWorkConnect()
 {
      int i = 0;
      return InternetGetConnectedState(out i, 0) ? true : false;
 }

当我们有网络时,返回一个true,无网络时,返回一个false。

示范


网络异常,图片无法展示
|

这里我们直接调用IsNetWorkConnect()方法,直接放在if里面如果没有网络,他是不会运行if内的代码的。

相关文章
|
C# 数据库
用C#连接到数据库实现学生学籍管理系统(二)
用C#连接到数据库实现学生学籍管理系统
|
25天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
25天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
3月前
|
SQL 网络协议 数据库连接
已解决:连接SqlServer出现 provider: Shared Memory Provider, error: 0 - 管道的另一端上无任何进程【C#连接SqlServer踩坑记录】
本文介绍了解决连接SqlServer时出现“provider: Shared Memory Provider, error: 0 - 管道的另一端上无任何进程”错误的步骤,包括更改服务器验证模式、修改sa用户设置、启用TCP/IP协议,以及检查数据库连接语句中的实例名是否正确。此外,还解释了实例名mssqlserver和sqlserver之间的区别,包括它们在默认设置、功能和用途上的差异。
|
7月前
|
存储 C# 索引
C# 字符串操作指南:长度、连接、插值、特殊字符和实用方法
字符串用于存储文本。一个字符串变量包含由双引号括起的字符集合
130 2
|
SQL 关系型数据库 MySQL
C#使用Npgsql或SqlClient连接数据库
在C#使用Npgsql和SqlClient连接SQLserver、pgsql
289 2
|
C# 数据库
用C#连接到数据库实现学生学籍管理系统(三)
用C#连接到数据库实现学生学籍管理系统
|
C# 数据库 C语言
用C#连接到数据库实现学生学籍管理系统(一)
用C#连接到数据库实现学生学籍管理系统
|
SQL 关系型数据库 数据库连接
C#二十五 连接式访问数据库
C#二十五 连接式访问数据库
63 0
|
监控 安全 网络协议
Baumer工业相机堡盟相机如何通过BGAPI SDK获取相机的IP地址和相机连接的网口IP地址(C#)
Baumer工业相机堡盟相机如何通过BGAPI SDK获取相机的IP地址和相机连接的网口IP地址(C#)
149 0