`

Java获取Windows硬件信息

    博客分类:
  • java
 
阅读更多

Java获取Windows硬件信息

 

        /**
	 * @param drive 硬盘驱动器分区 如C,D
	 * @return 该分区的卷标
	 */
	public static String getHDSerial(String drive) {
		String result = "";
		try {
			File file = File.createTempFile("tmp", ".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";
			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) {

		}
		if (result.trim().length() < 1 || result == null) {
			result = "无磁盘ID被读取";
		}
		return result.trim();
	}
	/**
	 * 获取CPU号,多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 = "On Error Resume Next \r\n\r\n" + "strComputer = \".\"  \r\n" + "Set objWMIService = GetObject(\"winmgmts:\" _ \r\n"
					+ "    & \"{impersonationLevel=impersonate}!\\\\\" & strComputer & \"\\root\\cimv2\") \r\n"
					+ "Set colItems = objWMIService.ExecQuery(\"Select * from Win32_Processor\")  \r\n " + "For Each objItem in colItems\r\n "
					+ "    Wscript.Echo objItem.ProcessorId  \r\n " + "    exit for  ' do the first cpu only! \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地址
	 * @return
	 */
	public String getMac() {
		String macStr = null;
		try {
			InetAddress ip = InetAddress.getLocalHost();
			NetworkInterface network = NetworkInterface.getByInetAddress(ip);
			byte[] mac = network.getHardwareAddress();
			System.out.print("Current MAC address : ");
			StringBuilder sb = new StringBuilder();
			for (int i = 0; i < mac.length; i++) {
				sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
			}
			macStr = sb.toString();
			System.out.println(sb.toString());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return macStr;
	}

 

分享到:
评论

相关推荐

    java获取系统、硬件、设备相关信息

    java 1. 使用wmic相关命令获取windows硬件相关信息。 2. 使用shell相关的dmidecode/fdisk/ifconfig命令获取Linux硬件和系统相关信息

    java读取服务器硬件信息(windowx+linux+Mac OS)

    java 读取 各平台 服务器硬件信息(windowx+linux+Mac OS) 案例............。

    C#实时监控硬件信息

    C#代码实时监控CPU温度、CPU占用率、显卡温度、GPU占用率、风扇转速、内存使用率、磁盘读写速率等硬件信息

    java源码包---java 源码 大量 实例

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    使用JAVA实现GPS接收机的串口通信.pdf

    摘要%首先简单介绍了#$% 接收机串口通信的基本概念!然后 详细介绍利用&’(’ )*++,-./’0.*- 1$2 扩展类库3&’(’45/*++6 来实现#$% 串口通信的例子! 在实例中还结合7’8 9:; &’(’ &gt;?.0.*- 开发工具实现了对#$% ...

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包4

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包3

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包2

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    system-monitor:基于(siger)开发的SpringBoot项目,java获取服务器信息

    基于(siger)开发的SpringBoot项目,java获取服务器信息 该项目为 Java探针 运行前提是 有Jvm环境,集成了Swagger接口 场景: 在没有使用 分布式的项目,进行集群管理时,有时候来了做服务器监控的需求 如果没有...

    Java图书馆管理系统附全代码课程设计报告完整版.docx

    [摘要] 随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点。伴随计算机硬件的快速发展,有关信息管理的软件——数据库系统软件也在迅猛发展着。图书馆是高等院校的重要组成部门,是...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    java学习重点

    继承性 继承是一个对象获得另一个对象的属性的过程,继承机制是一个对象成为一个更具通用类的一个特定实例成为可能,避免了代码的重复编写; 多态性 (重载overload,方法名相同、参数的个数不同、参数的类型不同、...

    【文献综述】基于JAVA的俄罗斯方块游戏设计与实现.pdf

    作为回应, 微软不再在 Windows 系统中捆绑 Java,最新的 Windows 版本,Windows Vista 和 Internet Explorer 7.0 版本也不再提供对于 Java 应用程序和控件的支持。但是升阳公司和其他使用 Java 运行时系统的公司...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...

    Java高级程序设计实战教程第八章-Java数据库编程.pptx

    JDBC保留ODBC的基本设计功能,在Web和Internet应用程序中的作用于ODBC在Windows系列平台应用程序中的作用类似,而且还具有对硬件平台、操作系统异构性的支持。 Java高级程序设计实战教程第八章-Java数据库编程全文共...

    Java项目:酒店宾馆管理系统(java+SpringBoot+html+layui+jQuery+maven+mysql)

    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 8.0版本; 技术栈 1. 后端:SpringBoot...

     一.JAVA程序传送到手机的方法:

     刚入门的玩家我们推荐使用WAP下载或者手机互传来获得MP手机浏览器JAVA程序 (jad,jar)  从WAP上下载的游戏手机会自动安装。一般来说会有一些友好的提示如:  (1)是否安装JAVA程序?  下载下来当然是要安装的...

Global site tag (gtag.js) - Google Analytics