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());
        }
        
        
    }
    


  • 相关阅读:
    cmanformat
    mysql-sql语言参考
    jQuery 判断多个 input checkbox 中至少有一个勾选
    Java实现 蓝桥杯 算法提高 计算行列式
    Java实现 蓝桥杯 数独游戏
    Java实现 蓝桥杯 数独游戏
    Java实现 蓝桥杯 数独游戏
    Java实现 蓝桥杯 算法提高 成绩排序2
    Java实现 蓝桥杯 算法提高 成绩排序2
    Java实现 蓝桥杯 算法提高 成绩排序2
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6690328.html
Copyright © 2011-2022 走看看