public class SerialUtils {private static Properties props = System.getProperties();private static String systemName = props.getProperty("os.name");/*** Windows下获取cpuId* * @return*/public static String getWinCPU() {Process process;String serial = null;try {process = Runtime.getRuntime().exec(new String[] { "wmic", "cpu", "get", "ProcessorId" });process.getOutputStream().close();Scanner sc = new Scanner(process.getInputStream());String property = sc.next();serial = sc.next();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return serial;}/*** Windows下获取硬盘SN号* * @return* @throws IOException*/public static String getWinHdSerialInfo() throws IOException {Process process = Runtime.getRuntime().exec(new String[] { "wmic", "diskdrive", "get", "serialnumber" });process.getOutputStream().close();Scanner sc = new Scanner(process.getInputStream());String property = sc.next();String serial = sc.next();String hdSerial = serial;return hdSerial;}/*** Linux下获取硬盘SN号* * @return*/public static String getLinuxHdSerialInfo() throws Exception {String cmd = "hdparm -i /dev/sda1 |grep -i serialno";String linuxSerial = executeLinuxCmd(cmd);//截取序列号int first = linuxSerial.indexOf("=");String strNew= linuxSerial.substring(first+1);System.out.println("cmd:"+strNew);return strNew;}/*** * @param cmd    命令语句* @param record 要查看的字段* @param symbol 分隔符* @return*/public static String getSerialNumber(String cmd, String record, String symbol) {String execResult = executeLinuxCmd(cmd);String[] infos = execResult.split("\n");for (String info : infos) {info = info.trim();if (info.indexOf(record) != -1) {info.replace(" ", "");String[] sn = info.split(symbol);return sn[1];}}return null;}public static String executeLinuxCmd(String cmd) {try {Runtime run = Runtime.getRuntime();Process process;process = run.exec(cmd);Scanner in = new Scanner(process.getInputStream());// BufferedReader bs = new BufferedReader(new InputStreamReader(in));String a = in.next();String b = in.next();String c = in.next();String d = in.next();String e = in.next();//这个才是需要的硬盘序列号in.close();process.destroy();return e;} catch (Exception e) {e.printStackTrace();}return null;}public static void main(String[] args) throws Exception {System.out.println(systemName);if (systemName.startsWith("Win")) {// 判断操作系统String winInfo = "硬盘序列号:" + getWinHdSerialInfo();System.out.println(winInfo);//弹出展示窗口javax.swing.JOptionPane.showConfirmDialog((java.awt.Component) null, winInfo, "Serial Number :",javax.swing.JOptionPane.DEFAULT_OPTION);} else if (systemName.startsWith("Linux")) {String linuxInfo = "硬盘序列号:" + getLinuxHdSerialInfo();System.out.println(linuxInfo);//弹出展示窗口javax.swing.JOptionPane.showConfirmDialog((java.awt.Component) null, linuxInfo, "Serial Number :",javax.swing.JOptionPane.DEFAULT_OPTION);}}}

获取硬盘序列号、CPU序列号相关推荐

  1. 用C#获取硬盘序列号,CPU序列号,网卡MAC地址

    这个问题首先得考虑的就是你的硬盘是不是SCSI硬盘 如果是,那么根本不存在"物理序列号",只可能取得卷标的序列号 如果是卷标序列号,要注意的是每次格式化硬盘的时候这个序列号都会变 ...

  2. Python获取硬件信息(硬盘序列号,CPU序列号)

    原文衔接 https://www.cnblogs.com/blog-rui/p/12108072.html pip install wmi pip install pywin32 import wmi ...

  3. Python使用WMI获取主板和CPU序列号

    2019独角兽企业重金招聘Python工程师标准>>> 安装wmi pip install pywin32 pip install wmi 代码 import wmi c = wmi ...

  4. VB.NET 获取主板和CPU序列号

    一.获取主板序列号 以下函数获取一个 WMI 对象,然后获取表示系统主板的WMI_BaseBoard对象的集合.它循环通过他们获取主板序列号. Private Function SystemSeria ...

  5. python获取本机 ip地址、mac地址(物理地址)、计算机名、硬盘序列号、CPU序列号、主板序列号、bios序列号、bios uuid号

    文章目录 python获取本机IP地址.mac地址(物理地址).计算机名 物理地址 计算机名.ip地址 硬盘序列号 CPU序列号 主板序列号 bios序列号 bios uuid号 python获取本机 ...

  6. C语言获取硬件信息(CPU序列号,硬盘序列号,网卡IP、MAC地址、是否插入网线)

    目录 一.前言 二.代码实现 2.1 获取CPU序列号 2.2 获取硬盘序列号 2.3 获取网卡信息 附:源代码下载 一.前言   本文主要介绍Linux和Windows下使用C语言获取各种硬件信息, ...

  7. 关于CPU序列号的问题,以及如何获取×64下CPU的ProcessorID

    前几天经过查资料,得到网络上获取CPU序列号的方法是错误的,首先我找到了一篇论文,这篇论文里面是这么说的: 这篇论文是错误的.这篇是错误的这篇是错误的!!!!!!!!! 2.CPU序列号 CPU序列号 ...

  8. VC6获取硬盘序列号、型号、修订版本号

    因为要做个读取硬盘参数信息的控件,所以在网上找了不少代码,但是自己作为一个初学者在使用别人代码时,总会发现有各种各样的问题: 1. 需要的头文件未写明 2. 有些定义未给出 3. 代码的开发环境未明, ...

  9. Python获取电脑硬件配置的封装类,可以获取CPU序列号、主板序列号、BIOS序列号、硬盘序列号和网卡MAC地址

    Python获取电脑硬件配置的封装类,可以获取CPU序列号.主板序列号.BIOS序列号.硬盘序列号和网卡MAC地址. myPyHardware.py # -*- coding: utf-8 -*- i ...

  10. C# 获取CPU序列号、MAC地址、硬盘ID等系统信息

    软件开发过程中经常需要获取 CPU 序列号.MAC 序列号或者硬盘 ID 等系统信息,在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,用于保护软件.下面看一下使用 C# 如何获取. ...

最新文章

  1. 深度学习需要掌握的 13 个概率分布(附代码)
  2. 基于Keras Application和Densenet迁移学习(transfer learning)的乳腺癌图像分类模型(良性、恶性)
  3. 安卓中实现两端对齐,中间fill_parent的方法
  4. 哈工大 c语言测试与系统控制 ad,哈工大——c语言在测量与控制中应用实验报告.pdf...
  5. tf.control_dependencies()函数用法
  6. DllRegisterServer的调用失败
  7. python协程库_python中协程的详解(附示例)
  8. 不同账号间的云资源授权方法
  9. 区别vue的this和JTopo中的this
  10. Redmi K50系列三款新机全部入网:三款旗舰芯片都很能打
  11. 机器学习与数据挖掘_线性模型 II
  12. [20180423]表空间闪回与snapshot standby
  13. python恢复图像超分辨率_SRCNN实现图像超分辨率重建
  14. 【读书笔记】大数据 数据挖掘 相关
  15. 某计算机机房的上机控制电路,2012年南京市單招计算机专业教学调研测试卷一1.doc...
  16. 垃圾网线,毁我青春(ubuntu安装失败)
  17. 4. struct 结构体
  18. 【Multisim仿真】二极管加正向和反向电压测量实验
  19. 华为云服务-运维篇-弹性负载均衡
  20. https怎么防止流量劫持

热门文章

  1. XCTF_MOBILE17_Android2.0
  2. 面试考代码,居然翻车了!
  3. python数据分析基础007 -利用pandas带你玩转excel表格(中上篇)
  4. 大唐杯5G NR帧结构
  5. 【错误记录】使用cv2报错 已解决
  6. HDU1847Good Luck in CET-4 Everybody!递推求解必胜、必败点 附三种经典博弈
  7. 飞凌OK1028A核心板适配RTL8192CU WIFI模块
  8. 香港虚拟主机哪家比较好
  9. esp32和显示屏交互
  10. 景观生态学原理| 6 景观生态分类与评价