java获取机器序列号_Java后台实现查询电脑本机CPU序列号工具类
package com.gstarcad.fei.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
/**
*
* @author Goofy
* @Date 2015年7月7日 下午3:52:56
*/
public class HardwareUtils {
/**
* 获取主板序列号
*
* @return
*/
public static String getMotherboardSN() {
String result = "";
try {
File file = File.createTempFile("realhowto", ".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
+ "Set colItems = objWMIService.ExecQuery _ \n"
+ " (\"Select * from Win32_BaseBoard\") \n"
+ "For Each objItem in colItems \n"
+ " Wscript.Echo objItem.SerialNumber \n"
+ " exit for ' do the first cpu only! \n" + "Next \n";
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec(
"cscript //NoLogo " + file.getPath());
BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
} catch (Exception e) {
e.printStackTrace();
}
return result.trim();
}
/**
* 获取硬盘序列号
*
* @param drive
* 盘符
* @return
*/
public static String getHardDiskSN(String drive) {
String result = "";
try {
File file = File.createTempFile("realhowto", ".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = "Set objFSO = CreateObject(\"Scripting.FileSystemObject\")\n"
+ "Set colDrives = objFSO.Drives\n"
+ "Set objDrive = colDrives.item(\""
+ drive
+ "\")\n"
+ "Wscript.Echo objDrive.SerialNumber"; // see note
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec(
"cscript //NoLogo " + file.getPath());
BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
} catch (Exception e) {
e.printStackTrace();
}
return result.trim();
}
/**
* 获取CPU序列号
*
* @return
*/
public static String getCPUSerial() {
String result = "";
try {
File file = File.createTempFile("tmp", ".vbs");
file.deleteOnExit();
FileWriter fw = new java.io.FileWriter(file);
String vbs = "Set objWMIService = GetObject(\"winmgmts:\\\\.\\root\\cimv2\")\n"
+ "Set colItems = objWMIService.ExecQuery _ \n"
+ " (\"Select * from Win32_Processor\") \n"
+ "For Each objItem in colItems \n"
+ " Wscript.Echo objItem.ProcessorId \n"
+ " exit for ' do the first cpu only! \n" + "Next \n";
// + " exit for \r\n" + "Next";
fw.write(vbs);
fw.close();
Process p = Runtime.getRuntime().exec(
"cscript //NoLogo " + file.getPath());
BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
result += line;
}
input.close();
file.delete();
} catch (Exception e) {
e.fillInStackTrace();
}
if (result.trim().length() < 1 || result == null) {
result = "无CPU_ID被读取";
}
return result.trim();
}
/**
* 获取MAC地址,使用前请修改,只适合中文系统,并且名称为以太网适配器的网卡地址
*/
@Deprecated
public static String getMac() {
String result = "";
try {
Process process = Runtime.getRuntime().exec("ipconfig /all");
InputStreamReader ir = new InputStreamReader(process.getInputStream(),"GBK");
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null){
if(line.indexOf("以太网适配器")!=-1){
while ((line = input.readLine()) != null){
if (line.indexOf("Physical Address") >=0||line.indexOf("物理地址")>=0) {
String MACAddr = line.substring(line.indexOf("-") - 2);
result = MACAddr;
break;
}
}
break;
}
}
} catch (java.io.IOException e) {
System.err.println("IOException " + e.getMessage());
}
return result;
}
public static void main(String[] args) {
System.out.println("CPU序列号:"+getCPUSerial());
}
}
java获取机器序列号_Java后台实现查询电脑本机CPU序列号工具类相关推荐
- 如何查询电脑本机出厂序列号
[WIN]+[R]快捷键输入[cmd]回车,输入[wmic bios get serialnumber]回车,可以查看产品序列号Serial Number.
- JAVA获取机器的MAC地址
JAVA获取机器的MAC地址 需求:获取机器的mac地址 问题:一些国产操作系统获取不到MAC地址,以下搜集了一些获取mac地址的方法 1.获取MAC地址 ps:该方法在银河麒麟中可用 public ...
- 银联银行卡卡号java_编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类...
编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类 编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类,银联借记卡号是一个 19 位的数字,卡号以"62" ...
- JS获取本机IP的工具类
JS获取本机IP的工具类 /*** 获取ip地址*/ export function getUserIP(onNewIP) { // onNewIp - 回调函数//兼容for firefox and ...
- 查询电脑本机ip地址 区分内网外网
查询电脑本机ip地址 区分内网外网 文章目录 查询电脑本机ip地址 区分内网外网 一.查询本机ip地址 内网ip 方法1 方法2 二.查询本机ip地址 外网ip 总结 一.查询本机ip地址 内网ip ...
- java获取机器序列号_纯java获取CPU序列号,生成机器码
用于生成机器码 感觉用mac不靠谱,因为mac能改, (除CPU序列号外,还可以获得主板序列号.) public static void main(String[] args) { // TODO A ...
- java获取法定节假日_java 获取n个工作日后的日期(包含法定节假日、双休日、节后补班)...
1.说明: 获取n个工作日后的日期(包含法定节假日.双休日.节后补班),需要在数据库手动入库当年的法定节假日及节假日调休补班.(也可写在配置文件中读取) 2.工具类代码 import java.tex ...
- java获取机器的IP
在web容器中,一般我们需要获取IP都是通过request来取得. 现在没有HttpRequest,那么如何获取机器IP呢? 刚开始我们下面的代码来获取,发现在linu上取出来的IP都是127.0.0 ...
- java 获取区间随机数_Java获取随机数的3种方法
主要介绍了Java获取随机数的3种方法,主要利用random()函数来实现 方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1))例: (int)(1+Math.rando ...
- java 获取区间随机数_Java获取随机数的几种方法
随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串.数字.或者随即生成一个不定长度的数字.或者进行一个模拟的随机选择等等.Java提供了最基本的工具,可以帮助开发者来实现这一切. 一.Jav ...
最新文章
- easyui 页面加载闪现问题 解决方法
- FIO工具测试延迟、带宽、IOPS
- iphone导出照片到电脑_iPhone里的照片如何快速导入电脑
- 利用HttpWebRequest实现实体对象的上传
- HDU 4553:约会安排(区间合并)
- CI加载model的问题
- mzy git学习,分支冲突,以及冲突解决(五)
- 双机热备系统的方案与软件浅析
- cf. (E) Thematic Contests
- 代码坏味道类型和解决方法简介
- 屏幕录像软件有哪些?操作简单的屏幕录像方法推荐
- unity3dk帧_Unity K帧动画
- Interlaced Sparse Self-Attention for Semantic Segmentation
- word另存为的快捷键
- 笔记本连接html后分成两个屏,笔记本电脑关掉自带显示屏,外接两个显示器做分屏的实现方法。...
- 英文版Ubuntu16.04安装fcitx-googlepinyin
- cesium实现三维空间量测功能
- 超实用的浏览器插件:CSDN全站去广告
- 简单实用的JavaWeb微投票系统
- 马云台大演讲:这世界观点很多 请坚持自己思考
热门文章
- 阿里电话面试题(附答案)
- 带权二部图匹配(KM算法)讲解及Matlab实现
- Android 使用VelocityTracker来获取滑动速度
- c语言搜索算法伪代码,FFT算法伪代码
- textpattern 在 nginx 上的 rewrite 规则
- 个人读研期间常用小工具分享
- 中证登 中债登 上清所 证券清算 证券账户 资金账户
- php多语言商城,Ecshop商城多国语言修改方法
- linux生成手机号码字典,字典生成器,木头超级字典生成器
- 小管家进销存_36氪首发 | 进销存SaaS提供商 「来肯云商」 获数百万美金A轮融资,要做“ERP+微商城 ”的一体化产品...