Check Your Internet Connection With C#

本文介绍如何用C#检测计算机是否连接到互联网。通过使用简单的InternetGetConnectedState API函数,该函数有两个参数,调用后返回布尔变量。还会创建一个含静态函数的类,在私有域使用API函数,根据连接情况返回true或false。

Check Your Internet Connection With C#
By Simohamed Attahri

C#检测你的网络连接


How to check if your computer is connected to the internet with C#. It's much more easier that other tutorials I've seen in other sites. In deed, we're going to use a simple API function
InternetGetConnectedState, to return a boolean variable.

怎么用C#来检测你的计算机是否连接到互联网呢?这可能是我见过最简单的教程了。其实我们就是使用一个简单的InternetGetConnectedState API函数,结果是返回一个boolean类型的变量。

This function takes two arguments :

这个函数有两个参数:

The first one is an integer used with out keyword, that means that after calling the function, the variable will contain an interger that describes the connection state ( use of a modem, use of a proxy, offline mode...). Note that you must refer to www.msdn.com for more information about that.
The second one is a reserved variable that must be set to 0.

第一个是带有out关键字的整型数,也就是说在调用函数后,变量应该包含一个描述连接状态(使用调制解调器、使用代理、离线模式)的整型数。你可以到www.msdn.com获取更多相关信息。

第二个参数设置为零的保留变量。

In this tutorial, we'll create a class with a static function that returns true if connected and false if not, using our API function in private state.

在这篇教程中,我们建立一个有着静态函数的类,在私有域使用API函数。如果连通则返回true否则返回false

Check this out :

using System ;
using
System.Runtime ;
using System.Runtime.InteropServices ;

public class InternetCS
{

//Creating the extern function...
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState( int out Description, int ReservedValue ) ;

//Creating a function that uses the API function...
public static bool IsConnectedToInternet( )
{

int Desc ;
return InternetGetConnectedState( out Desc, 0 ) ;

}

}

 

解决“Please check your internet connection and try again”提示问题的方法如下: - **Stripe 服务故障问题**:若该提示是因 Stripe 服务故障导致在尝试发送 API 请求时出现的,可检查 Stripe 的服务状态页面(https://twitter.com/stripestatus )以了解 Stripe 服务是否存在问题。当确定服务有问题时需等待其恢复正常后再重新尝试操作 [^1]。 - **Android Studio 安装问题**:对于提示“Install Failed. Please check your network connection and try again.”,若因 AS 版本过低缺少 google() 库导致“Could not find method google() for arguments [] on repository container”问题,可把 google() 换成 `maven{url 'https://maven.google.com'}` 来解决 [^2]。 - **Android Studio 升级问题**:对于 Android Studio 升级时提示“Connection ... Please check your network connection and try again”问题,可设置 `-Didea.updates.url=http://dl.google.com/android/studio/patches/updates.xml -Didea.patches.url=http://dl.google.com/android/studio/patches/` [^3]。 - **Android Studio 创建项目问题**:在创建项目时遇到该提示,可修改代码如下: ```groovy buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { // google() maven { url 'https://maven.google.com/' name 'Google'} jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } ``` [^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值