zoukankan      html  css  js  c++  java
  • JAVA 读取计算机中相关信息

    java读取 计算机 cup号

    读取版本号

    显卡

    。。

    。。。。。。。。

    。。

    package com.swt.common.util;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.InputStreamReader;
    import java.io.LineNumberReader;
    
    /**
     * 获取硬件信息
     * @author luoxf
     *
     */
    public class HardWareUtils  {
    
    	
    	/**
    	 * 获取主板序号
    	 * @return
    	 */
    	public static String getMotherboardSN() {
            String result = "";
            try {
            	//创建暂时文件
                File file = File.createTempFile("realhowto", ".vbs");
                //当程序结束时候才调用跟delete有差别 (程序開始调用相对于仅仅做出声明)
                file.deleteOnExit();
                FileWriter fw = new  FileWriter(file);
     
                String vbs = "Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    "
                        + "Set colItems = objWMIService.ExecQuery _ 
    "
                        + "   ("Select * from Win32_BaseBoard") 
    "
                        + "For Each objItem in colItems 
    "
                        + "    Wscript.Echo objItem.SerialNumber 
    "
                        + "    exit for  ' do the first cpu only! 
    " + "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();
            } 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")
    "
                        + "Set colItems = objWMIService.ExecQuery _ 
    "
                        + "   ("Select * from Win32_Processor") 
    "
                        + "For Each objItem in colItems 
    "
                        + "    Wscript.Echo objItem.ProcessorId 
    "
                        + "    exit for  ' do the first cpu only! 
    " + "Next 
    ";
     
                // + "    exit for  
    " + "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();
        }
        
        /**
         * 获取硬盘序列号
         *
         * @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")
    "
                        + "Set colDrives = objFSO.Drives
    "
                        + "Set objDrive = colDrives.item(""
                        + "c"
                        + "")
    "
                        + "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();
        }
        
        /**
         * 获取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) {
                    	   System.out.println(line);
                        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()+HardWareUtils.getCPUSerial());
    //        System.out.println("C盘   SN:" + HardWareUtils.getHardDiskSN("c"));
    //        System.out.println("MAC  SN:" + HardWareUtils.getMac());
        }
        
        
    }
    


  • 相关阅读:
    微信小程序开发规范文档-WXSS注释规范
    微信小程序开发规范文档-注意事项
    微信小程序开发规范文档-项目结构
    微信小程序开发规范文档
    使用 VS Code 编写小程序的姿势
    Github 生成SSH秘钥(详细教程)
    (6)关于存储引擎
    (5)MySQL的查询:模糊查询(通配符查询like)、限制符查询(limit)、排序查询(order by)、分组查询(group by)、(子查询)
    (12)协程
    (3)数据库的建立和数据表的操作
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6690328.html
Copyright © 2011-2022 走看看