http://blog.csdn.net/flyingcloude/article/details/9417825
import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
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地址
*/
public static String getMac() {
String result = "" ;
try {
Process process = Runtime.getRuntime().exec( "ipconfig /all" );
InputStreamReader ir = new InputStreamReader(
process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null )
if (line.indexOf( "Physical Address" ) > 0 ) {
String MACAddr = line.substring(line.indexOf( "-" ) - 2 );
result = MACAddr;
}
} catch (java.io.IOException e) {
System.err.println( "IOException " + e.getMessage());
}
return result;
}
public static void main(String[] args) {
System.out.println( "CPU SN:" + HardWareUtils.getCPUSerial());
System.out.println( "主板 SN:" + HardWareUtils.getMotherboardSN());
System.out.println( "C盘 SN:" + HardWareUtils.getHardDiskSN( "c" ));
System.out.println( "MAC SN:" + HardWareUtils.getMac());
}
} |
Linux:
命令:
0、查看CPUID:dmidecode -t processor | grep 'ID'
1、查看服务器型号:dmidecode | grep 'Product Name'
2、查看主板的序列号:dmidecode |grep 'Serial Number'
3、查看系统序列号:dmidecode -s system-serial-number
4、查看内存信息:dmidecode -t memory
5、查看OEM信息:dmidecode -t 11
相关推荐
前段时间,公司让写一个授权文件,要求软件只能在某台及其上运行,只要脱离该机器,就不能运行,因此,我参考了获取CPUID、MACID和硬盘序列号的获取信息代码,将软件和这些进行加密绑定。感觉这些还是挺有用的,大家...
在开发基于Qt的应用程序时,有时需要获取运行系统的硬件信息,比如网卡的MAC地址、CPU ID以及硬盘ID。这些信息对于系统识别、设备管理、软件授权等方面都可能至关重要。以下将详细介绍如何在Linux环境下,利用Qt库和...
在IT领域,获取计算机硬件和系统信息是常见需求,其中包括CPU ID、MAC地址、硬盘分区ID和硬盘分区GUID。这些信息对于系统管理、故障排查、软件授权和安全防护等方面都有重要作用。下面将详细讲解这些概念及其获取...
本篇文章将详细探讨如何使用Visual Studio 2008(VS2008)来实现获取系统信息,包括CPUID、硬盘ID和网卡MAC地址的功能。我们将主要关注提供的两个源文件:`GetSystemInfo.cpp` 和 `GetSystemInfo.h`。 首先,CPUID...
"VC获取机器指纹(CPU ID、硬盘ID、MAC地址、BIOS)"这个项目涉及到使用Visual C++(VC)编程语言来获取计算机的一些独特硬件标识,这些标识可以组合成一个唯一的“指纹”。以下是关于这些硬件标识及其获取方法的...
总之,通过C++获取主板、CPU、硬盘和MAC地址等硬件信息是一项涉及操作系统接口和硬件规范的任务,需要开发者具备扎实的编程基础和系统级知识。以上提到的方法和技巧只是基础,实际的代码实现会更复杂,可能还需要...
本篇文章将深入探讨如何使用C语言来获取CPU的标识符(CPUID)以及网络适配器的物理地址(MAC地址)。C语言作为底层编程的基础,其简洁且强大的特性使得它成为获取这些硬件信息的理想选择。 首先,我们要理解CPUID。...
本项目通过Java与JNI(Java Native Interface)结合,实现了一个能够从Java程序中获取CPUID的功能。 首先,让我们了解一下JNI。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。通过JNI,...
亲测可用,获取主板,硬盘,CPU,网卡地址等序号,另外还可以获取内存大小,系统登录用户名称,电脑的计算机名称。每个按钮一个功能,信息现在文本框内。源码直接可用,编写软件vb.net 2010 适合新手。
本主题聚焦于如何利用VB源码来读取计算机的关键硬件标识,包括CPUID、网卡ID和硬盘ID。这些信息在系统管理和软件授权等方面具有重要意义。 首先,CPUID(CPU Identifier)是处理器的一种特性,它提供了关于CPU制造...
C# WinForm,获取磁盘容量,Mac地址,CpuID,主板ID,当前登录用户名,计算机名,桌面路径(software/microsoft/windows/currentversion/explorer/shell folders 注册表该路径下的相关信息)等、三层架构、单列,可...
在IT领域,获取计算机硬件的信息,如CPU序列号和硬盘序列号,对于系统管理、软件激活、设备识别等任务至关重要。本项目是一个基于C语言的VS2010工程,特别之处在于它不仅适用于32位环境,还支持64位编译。以下是关于...
VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号 VC++获取网卡MAC、硬盘序列号、CPU ID、BIOS编号是计算机系统中获取系统特征码的方法。系统特征码是指网卡MAC、硬盘序列号、CPU ID、BIOS编号等信息,这些信息可以...
标题中的“qt写的跨平台读取CPUID MAC的加密程序”指的是使用Qt库开发的一款软件,该软件的主要功能是获取计算机的CPU标识符(CPUID)和物理地址(MAC地址),并结合加密算法来实现安全相关的操作。Qt是一个C++框架...
测试可用的获取硬盘序列号和CPUID的C++代码,包含windows和linux操作系统。 注意:windows vista以上系统需要管理员权限才能获取到硬盘序列号; 做了raid0磁盘阵列的硬盘也不能获取到硬盘序列号,欢迎有相关技术的...
在VB.NET中,我们可以利用` ManagementObjectSearcher `类来查询` Win32_DiskDrive ` WMI 类(Windows Management Instrumentation)来获取硬盘ID。以下是一个简单的示例: ```vb.net Imports System.Management ...
在计算机硬件领域,CPUID(CPU Identification)是一个重要的指令,用于获取处理器的标识信息,包括制造商、型号、特征等。本文将详细介绍三种方法来获取CPUID,并通过C++类实现,同时结合VC(Visual C++)工程进行...
【标题】"wmi应用(用于获取CPUID和硬盘ID)" 涉及到的是Windows Management Instrumentation(WMI)技术的应用,它主要用于在Windows操作系统中获取计算机硬件和软件的相关信息,例如CPU标识符(CPUID)和硬盘的唯一...
在这个项目"获取硬盘、主板、CPU、网卡MAC地址等硬件序列号信息的c++/vc6.0 GetHDSerial源码"中,开发者使用了C++和VC6.0(Visual C++ 6.0)编译器,提供了一套完整的源代码解决方案,用于获取计算机硬件的关键识别...
c++获取cpuid,嵌入汇编语言 xor eax,eax cpuid mov dword ptr vendor_id,ebx mov dword ptr vendor_id[+4],edx mov dword ptr vendor_id[+8],ecx