1. using System;
  2. using System.Collections.Generic;
  3. using System.Net.NetworkInformation;
  4. using System.Runtime.InteropServices;
  5. using System.Text;
  6. using System.Management;
  7. namespace Share
  8. {
  9. /// <summary>
  10. /// 判断网络类
  11. /// </summary>
  12. public class InternetCheck
  13. {
  14. //单例模式
  15. private static InternetCheck m_InternetCheck = new InternetCheck();
  16. public static InternetCheck Instance() { return m_InternetCheck; }
  17.  
  18. [DllImport("wininet.dll")]
  19. private extern static bool InternetGetConnectedState(int Description, int ReservedValue);
  20.  
  21. #region 方法一
  22. /// <summary>
  23. /// 用于检查网络是否可以连接互联网,true表示连接成功,false表示连接失败
  24. /// </summary>
  25. /// <returns></returns>
  26. public static bool IsConnectInternet()
  27. {
  28. int Description = ;
  29. return InternetGetConnectedState(Description, );
  30. }
  31. #endregion
  32.  
  33. #region 方法二
  34. /// <summary>
  35. /// ping 具体的网址看能否ping通,true通,false不通
  36. /// </summary>
  37. /// <param name="strNetAdd"></param>
  38. /// <returns></returns>
  39. public static bool PingNetAddress(string strNetAdd)
  40. {
  41. bool Flage = false;
  42. Ping ping = new Ping();
  43. try
  44. {
  45. PingReply pr = ping.Send(strNetAdd, );
  46. if (pr.Status == IPStatus.TimedOut)
  47. {
  48. Flage = false;
  49. }
  50. if (pr.Status == IPStatus.Success)
  51. {
  52. Flage = true;
  53. }
  54. else
  55. {
  56. Flage = false;
  57. }
  58. }
  59. catch
  60. {
  61. Flage = false;
  62. }
  63. return Flage;
  64. }
  65. #endregion
  66.  
  67. /// <summary>
  68. /// 获取Mac
  69. /// </summary>
  70. /// <returns></returns>
  71. public static string GetMAC()
  72. {
  73. string mac = "";
  74. using (ManagementObjectSearcher nisc = new ManagementObjectSearcher("select * from Win32_NetworkAdapterConfiguration"))
  75. {
  76. foreach (ManagementObject nic in nisc.Get())
  77. {
  78. if (Convert.ToBoolean(nic["ipEnabled"]) == true)
  79. {
  80. //mac = string.Format("{0} - {1}", nic["ServiceName"], nic["MACAddress"]);
  81. mac = string.Format("{0}", nic["MACAddress"]);
  82. }
  83. }
  84. mac = mac.Replace(":", "-");
  85. }
  86. return mac;
  87. }
  88. /// <summary>
  89. /// 获取电脑唯一标识
  90. /// </summary>
  91. /// <returns></returns>
  92. public static string GetComputerIdentification()
  93. {
  94. string computName = System.Net.Dns.GetHostName();
  95. //return "G01701002";
  96. return computName;
  97. }
  98.  
  99. }
  100. }

判断网络类(获取mac) InternetCheck的更多相关文章

  1. Android项目实战(五十三):判断网络连接是否为有线状态(tv项目适配)

    一般对于android手机,我们可以通过sdk提供的方法判断网络情况 /** * 获取当前的网络状态 :没有网络-0:WIFI网络1:4G网络-4:3G网络-3:2G网络-2 * 自定义 * * @p ...

  2. iOS 判断一个类是否存在,NSStringFromClass 不用 import 就可以获取类

    Class myCls = NSClassFromString(@"Person"); NSString *str = NSStringFromClass(myCls); if ( ...

  3. File类获取功能的方法和File类判断功能的方法

    File类获取功能的方法-public String getAbsolutePath() :返回此file的绝对路径名字符串 -public String getPath() :将此File转换为路径 ...

  4. android获取Mac地址和IP地址

    获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信 ...

  5. android——判断网络状态

    平常我们玩qq的时候我们没联网 ,qq上面回显示"网络连接不给力,请检查网络连接"那么它是 通过什么方式判断网络是否连接的呢? 下面将写个案例展示如何检查网络连接状态的 由于我们这 ...

  6. Android判断网络状态

    package com.ch.services; import com.ch.utils.NetWorkUtils; import android.app.Service; import androi ...

  7. Android手机上判断网络运营商

    我们想获取手机的运营商信息.通常都会去调用系统的TelephonyManager类的取数据.但是很多时候可能取不到卡的信息(例如双卡手机和 一些特殊卡),这样就区别不了运营商了.但是有时候我们的需求要 ...

  8. C#获取mac

    验证计算机MAC地址进行软件授权是一种通用的方法,C#可以轻松获取计算机的MAC地址,本文采用实际的源代码讲述了两种获取网卡的方式,第一种 方法使用ManagementClass类,只能获取本机的计算 ...

  9. HttpUtil 【判断网络连接的封装类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 该封装类主要包括以下功能: 判断是否有网络连接.判断是否有可用的网络连接: 判断是否是3G网络.判断mobile网络是否可用: 判断 ...

随机推荐

  1. Element-UI中Upload上传文件前端缓存处理

    Element-UI对于文件上传组件的功能点着重于文件传递到后台处理,所以要求action为必填属性.但是如果需要读取本地文件并在前端直接处理,文件就没有必要传递到后台,比如在本地打开一个JSON文件 ...

  2. 2018-2019-1 20189215《Linux内核原理与分析》第五周作业

    <庖丁解牛>第四章书本知识总结 系统调用的三层机制 API(应用程序编程接口) 中断向量(系统调用处理入口) 服务程序(系统调用内核处理系统) 计算机的硬件资源是有限的,为了减少有限资源的 ...

  3. [BZOJ1176]Mokia

    Description 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=10000,W<=2000 ...

  4. UVa 10655 n次方之和(矩阵快速幂)

    https://vjudge.net/problem/UVA-10655 题意: 输入非负整数p,q,n,求a^n+b^n的值,其中a和b满足a+b=p,ab=q. 思路: 递推式转化成矩阵的规律: ...

  5. shell fold限制文件行宽

    将文本的行限制到特定的宽 这个用 echo 命令发送的文本用 -w 选项分解成块. 在这个例子中,我们设定了行宽为12个字符. 如果没有字符设置,默认是80. 增加的 -s 选项将让 fold 分解到 ...

  6. 关联规则&Apriori算法

    2017-12-02 14:27:18 一.术语 Items:项,简记I Transaction:所有项的一个非空子集,简记T Dataset:Transaction的一个集合,简记D 关联规则: 一 ...

  7. 数据模板--DataTemplate

    DataTemplate 的 "DataType" 通常就是 “ViewModel” ——视图模型(亦可不恰当称之为:数据模型) <DataTemplate DataType ...

  8. Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理

    Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...

  9. React中父子组件间的通信问题

    1.https://blog.csdn.net/sinat_17775997/article/details/59103173 (React中父子组件间的通信问题)

  10. java通过文件头来判断文件类型

    import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.ut ...