获取硬盘序列号、CPU序列号
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序列号相关推荐
- 用C#获取硬盘序列号,CPU序列号,网卡MAC地址
这个问题首先得考虑的就是你的硬盘是不是SCSI硬盘 如果是,那么根本不存在"物理序列号",只可能取得卷标的序列号 如果是卷标序列号,要注意的是每次格式化硬盘的时候这个序列号都会变 ...
- Python获取硬件信息(硬盘序列号,CPU序列号)
原文衔接 https://www.cnblogs.com/blog-rui/p/12108072.html pip install wmi pip install pywin32 import wmi ...
- Python使用WMI获取主板和CPU序列号
2019独角兽企业重金招聘Python工程师标准>>> 安装wmi pip install pywin32 pip install wmi 代码 import wmi c = wmi ...
- VB.NET 获取主板和CPU序列号
一.获取主板序列号 以下函数获取一个 WMI 对象,然后获取表示系统主板的WMI_BaseBoard对象的集合.它循环通过他们获取主板序列号. Private Function SystemSeria ...
- python获取本机 ip地址、mac地址(物理地址)、计算机名、硬盘序列号、CPU序列号、主板序列号、bios序列号、bios uuid号
文章目录 python获取本机IP地址.mac地址(物理地址).计算机名 物理地址 计算机名.ip地址 硬盘序列号 CPU序列号 主板序列号 bios序列号 bios uuid号 python获取本机 ...
- C语言获取硬件信息(CPU序列号,硬盘序列号,网卡IP、MAC地址、是否插入网线)
目录 一.前言 二.代码实现 2.1 获取CPU序列号 2.2 获取硬盘序列号 2.3 获取网卡信息 附:源代码下载 一.前言 本文主要介绍Linux和Windows下使用C语言获取各种硬件信息, ...
- 关于CPU序列号的问题,以及如何获取×64下CPU的ProcessorID
前几天经过查资料,得到网络上获取CPU序列号的方法是错误的,首先我找到了一篇论文,这篇论文里面是这么说的: 这篇论文是错误的.这篇是错误的这篇是错误的!!!!!!!!! 2.CPU序列号 CPU序列号 ...
- VC6获取硬盘序列号、型号、修订版本号
因为要做个读取硬盘参数信息的控件,所以在网上找了不少代码,但是自己作为一个初学者在使用别人代码时,总会发现有各种各样的问题: 1. 需要的头文件未写明 2. 有些定义未给出 3. 代码的开发环境未明, ...
- Python获取电脑硬件配置的封装类,可以获取CPU序列号、主板序列号、BIOS序列号、硬盘序列号和网卡MAC地址
Python获取电脑硬件配置的封装类,可以获取CPU序列号.主板序列号.BIOS序列号.硬盘序列号和网卡MAC地址. myPyHardware.py # -*- coding: utf-8 -*- i ...
- C# 获取CPU序列号、MAC地址、硬盘ID等系统信息
软件开发过程中经常需要获取 CPU 序列号.MAC 序列号或者硬盘 ID 等系统信息,在给软件加序列号时这三个应该是最有用的,可以实现序列号和机器绑定,用于保护软件.下面看一下使用 C# 如何获取. ...
最新文章
- 深度学习需要掌握的 13 个概率分布(附代码)
- 基于Keras Application和Densenet迁移学习(transfer learning)的乳腺癌图像分类模型(良性、恶性)
- 安卓中实现两端对齐,中间fill_parent的方法
- 哈工大 c语言测试与系统控制 ad,哈工大——c语言在测量与控制中应用实验报告.pdf...
- tf.control_dependencies()函数用法
- DllRegisterServer的调用失败
- python协程库_python中协程的详解(附示例)
- 不同账号间的云资源授权方法
- 区别vue的this和JTopo中的this
- Redmi K50系列三款新机全部入网:三款旗舰芯片都很能打
- 机器学习与数据挖掘_线性模型 II
- [20180423]表空间闪回与snapshot standby
- python恢复图像超分辨率_SRCNN实现图像超分辨率重建
- 【读书笔记】大数据 数据挖掘 相关
- 某计算机机房的上机控制电路,2012年南京市單招计算机专业教学调研测试卷一1.doc...
- 垃圾网线,毁我青春(ubuntu安装失败)
- 4. struct 结构体
- 【Multisim仿真】二极管加正向和反向电压测量实验
- 华为云服务-运维篇-弹性负载均衡
- https怎么防止流量劫持