「java调电脑序列号」Java序列号

博主:adminadmin 2023-01-14 11:57:08 516

今天给各位分享java调电脑序列号的知识,其中也会对Java序列号进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 获取CPU序列号

cpu序列号是硬件相关的,Java平台本身力求做到硬件无关的。

就只能按特例处理。在x86架构下:

用JNI写一个cpu信息类。该类至少包含一个读取序列号的静态方法,

从C中嵌入执行汇编指令CPUID,输入参数EAX=3

从EDX:ECX中得到cpu序列号。

再以类形式给java调用。

只有Pentium 3能够读取cpu的“序列号”,后来的cpu都没有装配这个信息。

一般cpu只能读取cpu的“信息”而不是“序列号”

怎么用java取得系统CPU的序列号

不可能直接用java取得。。。sandbox的机制你应该明白

不用dll,那就还是得用c写个程序,读取了序列号之后用进程间通信的方式传递给java,比较好的方式是通过管道连接~

怎样用java 获取 硬盘 cpu 序列号,可调用dll实现

最好用dll调用。===============================================================/*

利用Runtime call操作系统的命令,具体的命令取决于不同的操作系统,注意不要调用Runtime.getRuntime().exec(String)接口,要用Runtime.getRuntime().exec(String[])这个接口,不然复杂命令的执行会有问题。例子如下(拿cpu个数,其他类似):

定义命令:

WindowsCmd ="cmd.exe /c echo %NUMBER_OF_PROCESSORS%";//windows的特殊

SolarisCmd = {"/bin/sh", "-c", "/usr/sbin/psrinfo | wc -l"};

AIXCmd = {"/bin/sh", "-c", "/usr/sbin/lsdev -Cc processor | wc -l"};

HPUXCmd = {"/bin/sh", "-c", "echo \"map\" | /usr/sbin/cstm | grep CPU | wc -l "};

LinuxCmd = {"/bin/sh", "-c", "cat /proc/cpuinfo | grep ^process | wc -l"};然后判断系统:

os = System.getProperty("os.name").toLowerCase();根据不同的操作系统call不同的命令。

*/

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.LineNumberReader;public class GetMACAddress

{

public String getMACAddress(String ipAddress)

{

String str = "",strMAC = "",macAddress = "";

try

{

Process pp = Runtime.getRuntime().exec("nbtstat -a " + ipAddress);

InputStreamReader ir = new InputStreamReader(pp.getInputStream());

LineNumberReader input = new LineNumberReader(ir);

for(int i = 1;i 100;i++)

{

str = input.readLine();

if(str != null)

{

if(str.indexOf("MAC Address") 1)

{

strMAC = str.substring(str.indexOf("MAC Address") + 14,str.length());

break;

}

}

}

}

catch(IOException ex)

{

return "Can't Get MAC Address!";

}

//

if(strMAC.length() 17)

{

return "Error!";

}

macAddress = strMAC.substring(0,2) + ":"

+ strMAC.substring(3,5) + ":"

+ strMAC.substring(6,8) + ":"

+ strMAC.substring(9,11) + ":"

+ strMAC.substring(12,14) + ":"

+ strMAC.substring(15,17);

//

return macAddress;

}public static void main(String[] args)

{

GetMACAddress getMACAddress = new GetMACAddress();

System.out.println(getMACAddress.getMACAddress("172.18.8.225"));try

{

java.lang.Process proc = Runtime.getRuntime().exec("ipconfig /all");

InputStream istr = proc.getInputStream();

byte[] data = new byte[1024];

istr.read(data);

String netdata = new String(data);

System.out.println("Your Mac Address=" + procAll(netdata));

}

catch(IOException e)

{

System.out.println("error=" + e);

}

}public static String procAll(String str)

{

return procStringEnd(procFirstMac(procAddress(str)));

}public static String procAddress(String str)

{

int indexof = str.indexOf("Physical Address");

if(indexof 0)

{

return str.substring(indexof,str.length());

}

return str;

}public static String procFirstMac(String str)

{

int indexof = str.indexOf(":");

if(indexof 0)

{

return str.substring(indexof + 1,str.length()).trim();

}

return str;

}public static String procStringEnd(String str)

{

int indexof = str.indexOf("\r");

if(indexof 0)

{

return str.substring(0,indexof).trim();

}

return str;

}

}

请教高手:java如何读取硬盘的序列号

以下是JAVA获取硬盘序列号的一种方法,仅供参考:

String HDserialnumber=getHdSerialInfo() ;

publicstatic  String getHdSerialInfo() {

  String line = "";

  String HdSerial = "";//定义变量 硬盘序列号

  try{

   Process proces = Runtime.getRuntime().exec("cmd /c dir c:");//获取命令行参数

   BufferedReader buffreader = newBufferedReader(

     newInputStreamReader(proces.getInputStream()));

   while((line = buffreader.readLine()) != null) {

    if(line.indexOf("卷的序列号是 ") != -1) {  //读取参数并获取硬盘序列号

     HdSerial = line.substring(line.indexOf("卷的序列号是 ")

       + "卷的序列号是 ".length(), line.length());

     break;

     // System.out.println(HdSerial);

    }

   }

  } catch(IOException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

  returnHdSerial;//返回硬盘序列号 卷的序列 非物理

}

java调电脑序列号的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java序列号、java调电脑序列号的信息别忘了在本站进行查找喔。